fix: registrar migrations 009-011 e gravar schema_migrations após apply
As migrations de receitas recorrentes, CDI yield e cartão de crédito foram criadas mas não embedadas no runner — causando 500 em produção. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
@@ -32,6 +32,15 @@ var m007 string
|
|||||||
//go:embed sql/008_cosmetics.sql
|
//go:embed sql/008_cosmetics.sql
|
||||||
var m008 string
|
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 {
|
func Run(ctx context.Context, pool *pgxpool.Pool) error {
|
||||||
// Bootstrap: ensure schema_migrations table exists before checking versions.
|
// Bootstrap: ensure schema_migrations table exists before checking versions.
|
||||||
if _, err := pool.Exec(ctx, `
|
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)
|
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 {
|
for i, sql := range migrations {
|
||||||
version := i + 1
|
version := i + 1
|
||||||
var applied bool
|
var applied bool
|
||||||
@@ -54,6 +63,9 @@ func Run(ctx context.Context, pool *pgxpool.Pool) error {
|
|||||||
if _, err := pool.Exec(ctx, sql); err != nil {
|
if _, err := pool.Exec(ctx, sql); err != nil {
|
||||||
return fmt.Errorf("migration %03d: %w", version, err)
|
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
|
return nil
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user