package initialize import ( "os" "git.echol.cn/loser/Go-Web-Template/server/global" appModel "git.echol.cn/loser/Go-Web-Template/server/model/app" commonModel "git.echol.cn/loser/Go-Web-Template/server/model/common" "git.echol.cn/loser/Go-Web-Template/server/model/system" "go.uber.org/zap" "gorm.io/gorm" ) func Gorm() *gorm.DB { switch global.GVA_CONFIG.System.DbType { case "mysql": global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mysql.Dbname return GormMysql() case "pgsql": global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Pgsql.Dbname return GormPgSql() case "oracle": global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Oracle.Dbname return GormOracle() case "mssql": global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mssql.Dbname return GormMssql() case "sqlite": global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Sqlite.Dbname return GormSqlite() default: global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mysql.Dbname return GormMysql() } } func RegisterTables() { if global.GVA_CONFIG.System.DisableAutoMigrate { global.GVA_LOG.Info("auto-migrate is disabled, skipping table registration") return } db := global.GVA_DB err := db.AutoMigrate( system.SysApi{}, system.SysIgnoreApi{}, system.SysUser{}, system.InviteCode{}, system.UserInviteRelation{}, system.SysBaseMenu{}, system.JwtBlacklist{}, system.SysAuthority{}, system.SysDictionary{}, system.SysOperationRecord{}, system.SysDictionaryDetail{}, system.SysBaseMenuParameter{}, system.SysBaseMenuBtn{}, system.SysAuthorityBtn{}, system.SysParams{}, system.SysParamChangeLog{}, system.SysError{}, system.SysApiToken{}, system.SysLoginLog{}, commonModel.ExaFile{}, commonModel.ExaFileChunk{}, commonModel.ExaFileUploadAndDownload{}, commonModel.ExaAttachmentCategory{}, appModel.AppUser{}, appModel.AppUserProfile{}, appModel.AppInviteCode{}, appModel.AppUserInviteRelation{}, appModel.AppUserAsset{}, appModel.AppUserActivity{}, appModel.AppAssetTransaction{}, appModel.AppLoginLog{}, appModel.AppWithdrawOrder{}, appModel.AppRiskTag{}, appModel.AppUserRiskTag{}, ) if err != nil { global.GVA_LOG.Error("register table failed", zap.Error(err)) os.Exit(0) } err = bizModel() if err != nil { global.GVA_LOG.Error("register biz_table failed", zap.Error(err)) os.Exit(0) } global.GVA_LOG.Info("register table success") }