package version_local import ( "runtime" goautomigrations "go-admin/app/goauto/migrations" "go-admin/cmd/migrate/migration" common "go-admin/common/models" "gorm.io/gorm" ) // This separate version is required for databases that already applied the // initial GoAuto schema before task execution, result, reset and delete fields // were introduced. Re-running AutoMigrate under a new version is additive and // keeps existing task snapshots and results intact. func init() { _, fileName, _, _ := runtime.Caller(0) migration.Migrate.SetVersion(migration.GetFilename(fileName), migrateCollectionExecution) } func migrateCollectionExecution(db *gorm.DB, version string) error { return db.Transaction(func(tx *gorm.DB) error { if err := goautomigrations.Migrate(tx); err != nil { return err } return tx.Create(&common.Migration{Version: version}).Error }) }