2020-09-07 10:17:27 +00:00
|
|
|
package initialize
|
|
|
|
|
|
|
|
|
|
import (
|
2021-12-06 04:44:26 +00:00
|
|
|
"os"
|
|
|
|
|
|
2021-08-23 15:13:24 +00:00
|
|
|
"github.com/flipped-aurora/gin-vue-admin/server/global"
|
|
|
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/example"
|
|
|
|
|
"github.com/flipped-aurora/gin-vue-admin/server/model/system"
|
2021-08-21 03:01:34 +00:00
|
|
|
|
2020-09-07 10:17:27 +00:00
|
|
|
"go.uber.org/zap"
|
|
|
|
|
"gorm.io/gorm"
|
|
|
|
|
)
|
|
|
|
|
|
2020-10-22 08:28:51 +00:00
|
|
|
func Gorm() *gorm.DB {
|
2020-09-07 10:17:27 +00:00
|
|
|
switch global.GVA_CONFIG.System.DbType {
|
|
|
|
|
case "mysql":
|
2024-08-05 12:05:23 +00:00
|
|
|
global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mysql.Dbname
|
2020-10-22 08:28:51 +00:00
|
|
|
return GormMysql()
|
2021-11-15 15:00:14 +00:00
|
|
|
case "pgsql":
|
2024-08-05 12:05:23 +00:00
|
|
|
global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Pgsql.Dbname
|
2021-11-15 15:00:14 +00:00
|
|
|
return GormPgSql()
|
2022-12-31 17:26:57 +00:00
|
|
|
case "oracle":
|
2024-08-05 12:05:23 +00:00
|
|
|
global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Oracle.Dbname
|
2022-12-31 17:26:57 +00:00
|
|
|
return GormOracle()
|
2023-02-25 06:46:02 +00:00
|
|
|
case "mssql":
|
2024-08-05 12:05:23 +00:00
|
|
|
global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mssql.Dbname
|
2022-12-31 17:26:57 +00:00
|
|
|
return GormMssql()
|
2023-06-30 11:18:20 +00:00
|
|
|
case "sqlite":
|
2024-08-05 12:05:23 +00:00
|
|
|
global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Sqlite.Dbname
|
2023-06-30 11:18:20 +00:00
|
|
|
return GormSqlite()
|
2020-10-06 03:30:50 +00:00
|
|
|
default:
|
2024-08-05 12:05:23 +00:00
|
|
|
global.GVA_ACTIVE_DBNAME = &global.GVA_CONFIG.Mysql.Dbname
|
2020-10-22 08:28:51 +00:00
|
|
|
return GormMysql()
|
2020-09-07 10:17:27 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2023-02-25 06:46:02 +00:00
|
|
|
func RegisterTables() {
|
2025-10-19 05:27:48 +00:00
|
|
|
if global.GVA_CONFIG.System.DisableAutoMigrate {
|
|
|
|
|
global.GVA_LOG.Info("auto-migrate is disabled, skipping table registration")
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
2023-02-25 06:46:02 +00:00
|
|
|
db := global.GVA_DB
|
2020-09-09 06:48:33 +00:00
|
|
|
err := db.AutoMigrate(
|
2023-12-30 11:57:36 +00:00
|
|
|
|
2021-07-16 12:08:11 +00:00
|
|
|
system.SysApi{},
|
2024-07-04 13:19:20 +00:00
|
|
|
system.SysIgnoreApi{},
|
2021-11-15 15:50:28 +00:00
|
|
|
system.SysUser{},
|
2021-07-16 12:08:11 +00:00
|
|
|
system.SysBaseMenu{},
|
|
|
|
|
system.JwtBlacklist{},
|
2021-11-15 15:50:28 +00:00
|
|
|
system.SysAuthority{},
|
2021-07-16 12:08:11 +00:00
|
|
|
system.SysDictionary{},
|
2021-11-15 15:50:28 +00:00
|
|
|
system.SysOperationRecord{},
|
|
|
|
|
system.SysAutoCodeHistory{},
|
2021-07-16 12:08:11 +00:00
|
|
|
system.SysDictionaryDetail{},
|
2021-11-15 15:50:28 +00:00
|
|
|
system.SysBaseMenuParameter{},
|
2022-02-21 16:26:21 +00:00
|
|
|
system.SysBaseMenuBtn{},
|
|
|
|
|
system.SysAuthorityBtn{},
|
2024-07-21 03:33:25 +00:00
|
|
|
system.SysAutoCodePackage{},
|
2023-12-30 12:32:05 +00:00
|
|
|
system.SysExportTemplate{},
|
2024-03-05 15:29:59 +00:00
|
|
|
system.Condition{},
|
2024-04-09 14:05:12 +00:00
|
|
|
system.JoinTemplate{},
|
2024-10-15 13:58:17 +00:00
|
|
|
system.SysParams{},
|
2025-07-31 13:21:04 +00:00
|
|
|
system.SysVersion{},
|
2025-10-28 08:19:25 +00:00
|
|
|
system.SysError{},
|
2026-02-04 05:49:24 +00:00
|
|
|
system.SysApiToken{},
|
|
|
|
|
system.SysLoginLog{},
|
2022-03-26 06:13:26 +00:00
|
|
|
|
2021-07-16 12:08:11 +00:00
|
|
|
example.ExaFile{},
|
|
|
|
|
example.ExaCustomer{},
|
2021-11-15 15:50:28 +00:00
|
|
|
example.ExaFileChunk{},
|
2023-12-30 12:32:05 +00:00
|
|
|
example.ExaFileUploadAndDownload{},
|
2025-02-13 07:25:10 +00:00
|
|
|
example.ExaAttachmentCategory{},
|
2020-09-09 06:48:33 +00:00
|
|
|
)
|
|
|
|
|
if err != nil {
|
2021-11-15 15:50:28 +00:00
|
|
|
global.GVA_LOG.Error("register table failed", zap.Error(err))
|
2020-09-09 06:48:33 +00:00
|
|
|
os.Exit(0)
|
|
|
|
|
}
|
2024-06-23 09:00:37 +00:00
|
|
|
|
2024-07-21 03:33:25 +00:00
|
|
|
err = bizModel()
|
2024-06-23 09:00:37 +00:00
|
|
|
|
|
|
|
|
if err != nil {
|
|
|
|
|
global.GVA_LOG.Error("register biz_table failed", zap.Error(err))
|
|
|
|
|
os.Exit(0)
|
|
|
|
|
}
|
2020-09-16 02:31:56 +00:00
|
|
|
global.GVA_LOG.Info("register table success")
|
2020-09-09 06:48:33 +00:00
|
|
|
}
|