@@ -93,7 +93,7 @@ func AutoMigrateDB(db *gorm.DB, focus bool) error {
9393 forceChangeArchiveTitle (db )
9494
9595 //自动迁移数据库
96- err := db . Set ( "gorm:table_options" , "DEFAULT CHARSET=utf8mb4" ). AutoMigrate (
96+ var models = [] interface {}{
9797 & model.Admin {},
9898 & model.AdminGroup {},
9999 & model.AdminLoginLog {},
@@ -150,25 +150,20 @@ func AutoMigrateDB(db *gorm.DB, focus bool) error {
150150 & model.WechatReplyRule {},
151151 & model.TagContent {},
152152 & model.ArchiveFavorite {},
153- )
153+ }
154+ err := db .Set ("gorm:table_options" , "DEFAULT CHARSET=utf8mb4" ).AutoMigrate (models ... )
154155
155156 if err != nil {
156157 log .Println ("migrate table error " , err )
157158 return err
158159 }
159- // 取消使用 MyISAM 引擎
160- //engine, _ := getTableEngine(db, "archives")
161- //if engine == "MyISAM" {
162- // db.Exec("ALTER TABLE archives ENGINE=InnoDB")
163- //}
164- //engine, _ = getTableEngine(db, "archive_drafts")
165- //if engine == "MyISAM" {
166- // db.Exec("ALTER TABLE archive_drafts ENGINE=InnoDB")
167- //}
168- // 先删除deleteAt
169- if db .Migrator ().HasColumn (& model.Archive {}, "deleted_at" ) {
170- db .Unscoped ().Where ("`deleted_at` is not null" ).Delete (model.Archive {})
171- _ = db .Migrator ().DropColumn (& model.Archive {}, "deleted_at" )
160+ // 循环所有表,逐个删除 deleted_at
161+ for _ , table := range models {
162+ // 检查表是否有 deleted_at 列
163+ if db .Migrator ().HasColumn (table , "deleted_at" ) {
164+ db .Unscoped ().Where ("`deleted_at` is not null" ).Delete (table )
165+ _ = db .Migrator ().DropColumn (table , "deleted_at" )
166+ }
172167 }
173168 // 转换archives的草稿部分数据到archive_drafts
174169 if db .Migrator ().HasColumn (& model.Archive {}, "status" ) {
0 commit comments