package initialize import ( "os" "server/dao" "server/dao/crm" "server/dao/system" "go.uber.org/zap" "gorm.io/gorm" "server/global" "server/model/example" ) func Gorm() *gorm.DB { switch global.GVA_CONFIG.System.DbType { case "mysql": return GormMysql() case "pgsql": return GormPgSql() case "oracle": return GormOracle() case "mssql": return GormMssql() case "sqlite": return GormSqlite() default: return GormMysql() } } func RegisterTables() { db := global.GVA_DB err := db.AutoMigrate( system.SysApi{}, system.SysUser{}, system.SysBaseMenu{}, system.JwtBlacklist{}, system.SysAuthority{}, system.SysDictionary{}, system.SysOperationRecord{}, system.SysDictionaryDetail{}, system.SysBaseMenuParameter{}, system.SysBaseMenuBtn{}, system.SysAuthorityBtn{}, dao.Notice{}, example.ExaFile{}, example.ExaFileChunk{}, dao.ExaFileUploadAndDownload{}, dao.Department{}, dao.Project{}, dao.ProjectState{}, dao.ProjectFile{}, dao.FileGenre{}, dao.NecessaryDocument{}, dao.ProjectWorkingHours{}, dao.Collection{}, dao.Borrowing{}, dao.ExpensesGenre{}, dao.DailyExpenses{}, dao.DailyFeeDetails{}, dao.DailyFile{}, dao.Reimbursement{}, dao.FeeDetails{}, dao.Constructor{}, dao.Expenses{}, dao.MonthExpenses{}, dao.ProjectFee{}, dao.ProjectFeeGenre{}, dao.ProjectMonthFee{}, dao.Node{}, dao.Approver{}, dao.Process{}, dao.Description{}, dao.ProjectProcess{}, dao.ProcessNodes{}, dao.Commodity{}, dao.CommodityGenre{}, dao.Supplier{}, dao.Warehouse{}, dao.Place{}, dao.StorageArea{}, dao.StorageAreaGenre{}, crm.Customer{}, crm.CustomerGenre{}, crm.Progress{}, crm.Demand{}, ) if err != nil { global.GVA_LOG.Error("register table failed", zap.Error(err)) os.Exit(0) } global.GVA_LOG.Info("register table success") }