数据表重命名

This commit is contained in:
GeekMaster
2025-09-01 09:26:12 +08:00
parent 3531c7f356
commit 957954f5ee
3 changed files with 155 additions and 61 deletions

View File

@@ -8,7 +8,9 @@ package store
// * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
import (
"fmt"
"geekai/core/types"
logger2 "geekai/logger"
"time"
"gorm.io/driver/mysql"
@@ -17,6 +19,8 @@ import (
"gorm.io/gorm/schema"
)
var log = logger2.GetLogger()
func NewGormConfig() *gorm.Config {
return &gorm.Config{
Logger: logger.Default.LogMode(logger.Warn),
@@ -41,5 +45,49 @@ func NewMysql(config *gorm.Config, appConfig *types.AppConfig) (*gorm.DB, error)
sqlDB.SetMaxIdleConns(32)
sqlDB.SetMaxOpenConns(512)
sqlDB.SetConnMaxLifetime(time.Hour)
log.Info("开始重命名数据表...")
// 重命名数据表
tableRenames := map[string]string{
"chatgpt_chat_roles": "geekai_chat_roles",
"chatgpt_admin_users": "geekai_admin_users",
"chatgpt_api_keys": "geekai_api_keys",
"chatgpt_app_types": "geekai_app_types",
"chatgpt_chat_history": "geekai_chat_history",
"chatgpt_chat_items": "geekai_chat_items",
"chatgpt_chat_models": "geekai_chat_models",
"chatgpt_users": "geekai_users",
"chatgpt_orders": "geekai_orders",
"chatgpt_products": "geekai_products",
"chatgpt_configs": "geekai_configs",
"chatgpt_sd_jobs": "geekai_sd_jobs",
"chatgpt_mj_jobs": "geekai_mj_jobs",
"chatgpt_suno_jobs": "geekai_suno_jobs",
"chatgpt_dall_jobs": "geekai_dall_jobs",
"chatgpt_video_jobs": "geekai_video_jobs",
"chatgpt_jimeng_jobs": "geekai_jimeng_jobs",
"chatgpt_files": "geekai_files",
"chatgpt_menus": "geekai_menus",
"chatgpt_functions": "geekai_functions",
"chatgpt_invite_codes": "geekai_invite_codes",
"chatgpt_invite_logs": "geekai_invite_logs",
"chatgpt_redeems": "geekai_redeems",
"chatgpt_power_logs": "geekai_power_logs",
"chatgpt_user_login_logs": "geekai_user_login_logs",
}
// 执行重命名操作
for oldTableName, newTableName := range tableRenames {
// 检查新表是否已存在
if !db.Migrator().HasTable(newTableName) {
err := db.Exec(fmt.Sprintf("ALTER TABLE %s RENAME TO %s", oldTableName, newTableName)).Error
if err != nil {
log.Errorf("重命名数据表 %s 到 %s 失败: %v", oldTableName, newTableName, err)
} else {
log.Infof("成功重命名数据表: %s -> %s", oldTableName, newTableName)
}
}
}
return db, nil
}