功能更新

This commit is contained in:
李琦
2026-08-15 17:04:47 +08:00
parent d9475ac9da
commit b71b99a60d
49 changed files with 4976 additions and 438 deletions

View File

@@ -13,7 +13,7 @@ import (
)
// Open 连接 MySQL 并按环境处理表结构:
// dev 环境自动迁移 pms_filesprod 严禁任何 DDL表直接报错退出(提示执行 init.sql
// dev 自动迁移 File + User及可选业务表prod 严禁 DDL users/pms_files 直接报错
func Open(cfg *config.Config) (*gorm.DB, error) {
lv := logger.Warn
if cfg.Env == "dev" {
@@ -24,11 +24,33 @@ func Open(cfg *config.Config) (*gorm.DB, error) {
return nil, fmt.Errorf("连接 MySQL 失败: %w", err)
}
if cfg.Env == "dev" {
if err := db.AutoMigrate(&model.File{}); err != nil {
if err := db.AutoMigrate(
&model.User{},
&model.File{},
&model.SyncTodo{},
&model.SyncTicket{},
&model.SyncNote{},
&model.SyncSetting{},
&model.UserProfile{},
&model.UserAvatarHistory{},
&model.Team{},
&model.TeamMember{},
&model.TeamTask{},
&model.TeamReport{},
&model.TeamDigest{},
&model.TeamNotice{},
&model.UserDailyActive{},
&model.AIUsageDaily{},
&model.AppRelease{},
&model.AdminStepup{},
); err != nil {
return nil, fmt.Errorf("dev 自动迁移失败: %w", err)
}
return db, nil
}
if !db.Migrator().HasTable(&model.User{}) {
return nil, errors.New("缺少 users 表:生产环境启动不执行迁移,请先手工执行 init.sql")
}
if !db.Migrator().HasTable(&model.File{}) {
return nil, errors.New("缺少 pms_files 表:生产环境启动不执行迁移,请先手工执行 init.sql")
}