32 lines
937 B
Go
32 lines
937 B
Go
package data
|
|
|
|
import (
|
|
"kra/internal/data/migration"
|
|
datapayment "kra/internal/data/payment"
|
|
datasystem "kra/internal/data/system"
|
|
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// migrateAll is the single data-layer migration entry point. Module-specific
|
|
// schema work stays with the module that owns its persistent objects.
|
|
func migrateAll(db *gorm.DB) error {
|
|
return migration.Run(db, []migration.Step{
|
|
{ID: "202608200001_baseline", Migrate: func(db *gorm.DB) error {
|
|
if err := datasystem.LegacySchemaMigration(db); err != nil {
|
|
return err
|
|
}
|
|
return datapayment.Migrate(db)
|
|
}},
|
|
{ID: "202608200002_data_reconcile", Migrate: func(db *gorm.DB) error {
|
|
if err := datapayment.Reconcile(db); err != nil {
|
|
return err
|
|
}
|
|
return datasystem.CurrentDataMigration(db)
|
|
}},
|
|
{ID: "202608200003_payment_admin_surface", Migrate: func(db *gorm.DB) error {
|
|
return datasystem.EnsureAdminSurface(db, datapayment.AdminSurface())
|
|
}},
|
|
})
|
|
}
|