package migration import ( "context" _ "embed" "fmt" "github.com/jackc/pgx/v5/pgxpool" ) //go:embed sql/001_initial.sql var m001 string //go:embed sql/002_add_external_id.sql var m002 string //go:embed sql/003_recurring_ignores.sql var m003 string //go:embed sql/004_accounts.sql var m004 string //go:embed sql/005_game_profile.sql var m005 string //go:embed sql/006_quests.sql var m006 string //go:embed sql/007_achievements.sql var m007 string //go:embed sql/008_cosmetics.sql var m008 string func Run(ctx context.Context, pool *pgxpool.Pool) error { migrations := []string{m001, m002, m003, m004, m005, m006, m007, m008} for i, sql := range migrations { if _, err := pool.Exec(ctx, sql); err != nil { return fmt.Errorf("migration %03d: %w", i+1, err) } } return nil }