SliverHorn
4 years ago
6 changed files with 58 additions and 133 deletions
-
3server/go.mod
-
36server/initialize/db_table.go
-
83server/initialize/gorm.go
-
45server/initialize/mysql.go
-
23server/initialize/sqlite.go
-
1server/main.go
@ -1,36 +0,0 @@ |
|||
package initialize |
|||
|
|||
import ( |
|||
"gin-vue-admin/global" |
|||
"gin-vue-admin/model" |
|||
"go.uber.org/zap" |
|||
"os" |
|||
) |
|||
|
|||
// 注册数据库表专用
|
|||
func DBTables() { |
|||
db := global.GVA_DB |
|||
err := db.AutoMigrate( |
|||
model.SysUser{}, |
|||
model.SysAuthority{}, |
|||
model.SysApi{}, |
|||
model.SysBaseMenu{}, |
|||
model.SysBaseMenuParameter{}, |
|||
model.JwtBlacklist{}, |
|||
model.SysWorkflow{}, |
|||
model.SysWorkflowStepInfo{}, |
|||
model.SysDictionary{}, |
|||
model.SysDictionaryDetail{}, |
|||
model.ExaFileUploadAndDownload{}, |
|||
model.ExaFile{}, |
|||
model.ExaFileChunk{}, |
|||
model.ExaSimpleUploader{}, |
|||
model.ExaCustomer{}, |
|||
model.SysOperationRecord{}, |
|||
) |
|||
if err != nil { |
|||
global.GVA_LOG.Error("register table failed", zap.Any("err", err)) |
|||
os.Exit(0) |
|||
} |
|||
global.GVA_LOG.Debug("register table success") |
|||
} |
@ -1,45 +0,0 @@ |
|||
package initialize |
|||
|
|||
import ( |
|||
"gin-vue-admin/global" |
|||
"go.uber.org/zap" |
|||
"gorm.io/driver/mysql" |
|||
"gorm.io/gorm" |
|||
"gorm.io/gorm/logger" |
|||
"os" |
|||
) |
|||
|
|||
// 初始化数据库并产生数据库全局变量
|
|||
func Mysql() { |
|||
admin := global.GVA_CONFIG.Mysql |
|||
mysqlConfig := mysql.Config{ |
|||
DSN: admin.Username + ":" + admin.Password + "@(" + admin.Path + ")/" + admin.Dbname + "?" + admin.Config, // DSN data source name
|
|||
DefaultStringSize: 191, // string 类型字段的默认长度
|
|||
DisableDatetimePrecision: true, // 禁用 datetime 精度,MySQL 5.6 之前的数据库不支持
|
|||
DontSupportRenameIndex: true, // 重命名索引时采用删除并新建的方式,MySQL 5.7 之前的数据库和 MariaDB 不支持重命名索引
|
|||
DontSupportRenameColumn: true, // 用 `change` 重命名列,MySQL 8 之前的数据库和 MariaDB 不支持重命名列
|
|||
SkipInitializeWithVersion: false, // 根据版本自动配置
|
|||
} |
|||
var gormConfig *gorm.Config |
|||
if admin.LogMode { //根据配置决定是否开启日志
|
|||
gormConfig = &gorm.Config{ |
|||
Logger: logger.Default.LogMode(logger.Info), |
|||
DisableForeignKeyConstraintWhenMigrating: true, |
|||
} |
|||
} else { |
|||
gormConfig = &gorm.Config{ |
|||
Logger: logger.Default.LogMode(logger.Silent), |
|||
DisableForeignKeyConstraintWhenMigrating: true, |
|||
} |
|||
} |
|||
|
|||
if db, err := gorm.Open(mysql.New(mysqlConfig), gormConfig); err != nil { |
|||
global.GVA_LOG.Error("MySQL启动异常", zap.Any("err", err)) |
|||
os.Exit(0) |
|||
} else { |
|||
global.GVA_DB = db |
|||
sqlDB, _ := db.DB() |
|||
sqlDB.SetMaxIdleConns(admin.MaxIdleConns) |
|||
sqlDB.SetMaxOpenConns(admin.MaxOpenConns) |
|||
} |
|||
} |
@ -1,23 +0,0 @@ |
|||
package initialize |
|||
|
|||
// sqlite需要gcc支持 windows用户需要自行安装gcc 如需使用打开注释即可
|
|||
|
|||
// 感谢 sqlitet提供者 [rikugun] 作者github: https://github.com/rikugun
|
|||
|
|||
// import (
|
|||
// "fmt"
|
|||
// "gin-vue-admin/global"
|
|||
// "gorm.io/gorm"
|
|||
// _ "github.com/jinzhu/gorm/dialects/sqlite"
|
|||
// )
|
|||
//
|
|||
// // 初始化数据库并产生数据库全局变量
|
|||
// func Sqlite() {
|
|||
// admin := global.GVA_CONFIG.Sqlite
|
|||
// if db, err := gorm.Open("sqlite3", fmt.Sprintf("%s?%s", admin.Path,admin.Config)); err != nil {
|
|||
// global.GVA_LOG.Error("DEFAULTDB数据库启动异常", err)
|
|||
// } else {
|
|||
// global.GVA_DB = db
|
|||
// global.GVA_DB.LogMode(admin.LogMode)
|
|||
// }
|
|||
// }
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue