package main import ( "context" "flag" "log" "github.com/panelhosting/panel/internal/config" "github.com/panelhosting/panel/internal/database" ) func main() { down := flag.Bool("down", false, "rollback all migrations") flag.Parse() cfg, err := config.Load() if err != nil { log.Fatal(err) } migrationsPath, err := database.MigrationsPath() if err != nil { log.Fatal(err) } if *down { if err := database.RollbackMigrations(cfg.DatabaseURL, migrationsPath); err != nil { log.Fatal(err) } log.Println("migrations rolled back") return } if err := database.RunMigrations(cfg.DatabaseURL, migrationsPath); err != nil { log.Fatal(err) } log.Println("migrations applied") ctx := context.Background() pool, err := database.NewPool(ctx, cfg.DatabaseURL) if err != nil { log.Fatal(err) } defer pool.Close() log.Println("database connection ok") }