From 70efb513dd94e09b7f3cbac6f08a00c827f975b3 Mon Sep 17 00:00:00 2001 From: Miroslav Misek Date: Fri, 18 Apr 2025 16:34:50 +0200 Subject: [PATCH] pre migration --- interfaces.go | 5 +++++ module.go | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/interfaces.go b/interfaces.go index 695abf1..301e2f2 100644 --- a/interfaces.go +++ b/interfaces.go @@ -14,3 +14,8 @@ type EntitiesProvider interface { maf.Module GetDBEntities() []interface{} } + +type PreMigrationConsumer interface { + Consumer + DBPreMigration(db *gorm.DB) error +} diff --git a/module.go b/module.go index 403a135..dd32305 100644 --- a/module.go +++ b/module.go @@ -110,6 +110,15 @@ func (m *Module) autoMigrate() error { var err error + for _, module := range m.manager.GetModulesList() { + if preMigrationModule, ok := module.(PreMigrationConsumer); ok { + err = preMigrationModule.DBPreMigration(m.db) + if err != nil { + return err + } + } + } + err = m.autoMigrateTables() if err != nil { return err