diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go index 1674af08cd..69def2a4f4 100644 --- a/models/migrations/migrations.go +++ b/models/migrations/migrations.go @@ -8,6 +8,7 @@ import ( "context" "fmt" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/forgejo_migrations" "code.gitea.io/gitea/models/migrations/v1_10" "code.gitea.io/gitea/models/migrations/v1_11" @@ -510,3 +511,12 @@ Please try upgrading to a lower version first (suggested v1.6.4), then upgrade t // Execute Forgejo specific migrations. return forgejo_migrations.Migrate(x) } + +// WrapperMigrate is a wrapper for Migrate to be called in diagnostics +func WrapperMigrate(e db.Engine) error { + engine, err := db.GetMasterEngine(e) + if err != nil { + return err + } + return Migrate(engine) +} diff --git a/routers/install/install.go b/routers/install/install.go index 79d1fa4266..40311da7da 100644 --- a/routers/install/install.go +++ b/routers/install/install.go @@ -362,14 +362,7 @@ func SubmitInstall(ctx *context.Context) { // Init the engine with migration // Wrap migrations.Migrate into a function of type func(db.Engine) error to fix diagnostics. - wrapperMigrate := func(e db.Engine) error { - engine, err := db.GetMasterEngine(e) - if err != nil { - return err - } - return migrations.Migrate(engine) - } - if err = db.InitEngineWithMigration(ctx, wrapperMigrate); err != nil { + if err = db.InitEngineWithMigration(ctx, migrations.WrapperMigrate); err != nil { db.UnsetDefaultEngine() ctx.Data["Err_DbSetting"] = true ctx.RenderWithErr(ctx.Tr("install.invalid_db_setting", err), tplInstall, &form)