package main import ( "context" "database/sql" "log" "os" _ "github.com/go-sql-driver/mysql" "github.com/wmms/wmms/pkg/migration" ) func main() { dsn := os.Getenv("DB_DSN") if dsn == "" { log.Fatal("DB_DSN is required") } dir := os.Getenv("MIGRATIONS_DIR") if dir == "" { dir = "scripts/migrations" } db, err := sql.Open("mysql", dsn) if err != nil { log.Fatalf("open database: %v", err) } defer db.Close() if err := db.PingContext(context.Background()); err != nil { log.Fatalf("connect database: %v", err) } if err := migration.Run(context.Background(), db, dir); err != nil { log.Fatalf("run migrations: %v", err) } log.Print("migrations applied successfully") }