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