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) } }