diff --git a/apps/api/internal/migration/migration.go b/apps/api/internal/migration/migration.go index 2adcf0f..d9f5eed 100644 --- a/apps/api/internal/migration/migration.go +++ b/apps/api/internal/migration/migration.go @@ -32,6 +32,15 @@ var m007 string //go:embed sql/008_cosmetics.sql var m008 string +//go:embed sql/009_recurring_income.sql +var m009 string + +//go:embed sql/010_cdi_yield.sql +var m010 string + +//go:embed sql/011_credit_bills.sql +var m011 string + func Run(ctx context.Context, pool *pgxpool.Pool) error { // Bootstrap: ensure schema_migrations table exists before checking versions. if _, err := pool.Exec(ctx, ` @@ -43,7 +52,7 @@ func Run(ctx context.Context, pool *pgxpool.Pool) error { return fmt.Errorf("bootstrap schema_migrations: %w", err) } - migrations := []string{m001, m002, m003, m004, m005, m006, m007, m008} + migrations := []string{m001, m002, m003, m004, m005, m006, m007, m008, m009, m010, m011} for i, sql := range migrations { version := i + 1 var applied bool @@ -54,6 +63,9 @@ func Run(ctx context.Context, pool *pgxpool.Pool) error { if _, err := pool.Exec(ctx, sql); err != nil { return fmt.Errorf("migration %03d: %w", version, err) } + if _, err := pool.Exec(ctx, `INSERT INTO schema_migrations (version) VALUES ($1) ON CONFLICT DO NOTHING`, version); err != nil { + return fmt.Errorf("migration %03d mark applied: %w", version, err) + } } return nil }