Files
reloading-manager/backend/database/migrate.go
2025-04-18 17:30:11 -04:00

38 lines
720 B
Go

package database
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
"github.com/golang-migrate/migrate"
"github.com/golang-migrate/migrate/database/postgres"
_ "github.com/golang-migrate/migrate/source/file"
"log"
)
func (db *Database) Migrate() {
sqlDB, err := sql.Open("postgres", db.DSN(false))
driver, err := postgres.WithInstance(sqlDB, &postgres.Config{
MigrationsTable: "schema_migrations",
DatabaseName: db.databaseName,
})
if err != nil {
log.Fatal(err)
}
m, err := migrate.NewWithDatabaseInstance(
"file://./migrations",
db.databaseName,
driver,
)
if err != nil {
log.Fatal(err)
}
err = m.Up()
if err != nil && err.Error() != "no change" {
log.Fatal(err)
}
}