Files
cybertron/db/migrations.go

32 lines
765 B
Go
Raw Normal View History

2024-07-23 14:16:26 +05:30
package db
import (
"cybertron/configs"
"cybertron/pkg/log"
"github.com/golang-migrate/migrate/v4"
_ "github.com/golang-migrate/migrate/v4/database/postgres"
_ "github.com/golang-migrate/migrate/v4/source/file"
"go.uber.org/zap"
)
const dbMigrationsPath = "./db/migrations"
func RunDatabaseMigrations() error {
var err error
postgresConfig := configs.GetPostgresMigConfig()
appMigrate, err := migrate.New("file://"+dbMigrationsPath, postgresConfig.GetPostgresUrl())
2024-07-23 14:16:26 +05:30
if err != nil {
log.Log.GetLog().Error("migrations error", zap.Error(err))
panic(err)
}
err = appMigrate.Up()
if err != nil && err != migrate.ErrNoChange {
log.Log.Error("migrations error", zap.Error(err))
2024-07-23 14:16:26 +05:30
return err
}
log.Log.Info("migrations successful")
2024-07-23 14:16:26 +05:30
return nil
}