调整整体架构写法

调整db用法
调整日志用法
调整模版
This commit is contained in:
linwenxiang
2021-03-04 23:45:16 +08:00
parent 734a48dbb8
commit e2952fa393
137 changed files with 3638 additions and 3544 deletions
@@ -19,19 +19,19 @@ func init() {
func _1599190683659Tables(db *gorm.DB, version string) error {
err := db.Debug().Migrator().AutoMigrate(
new(models.CasbinRule),
new(models.SysDept),
new(system.CasbinRule),
new(system.SysDept),
new(system.SysConfig),
new(tools.SysTables),
new(tools.SysColumns),
new(models.SysMenu),
new(system.SysMenu),
new(system.SysLoginLog),
new(system.SysOperaLog),
new(models.RoleMenu),
new(system.SysRoleDept),
new(models.SysUser),
new(system.SysUser),
new(system.SysRole),
new(models.Post),
new(Post),
new(DictData),
new(DictType),
new(models.SysJob),
@@ -20,7 +20,7 @@ func init() {
func _1599190683670Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
list3 := []models.SysDept{
list3 := []system.SysDept{
{DeptId: 1, ParentId: 0, DeptPath: "/0/1", DeptName: "爱拓科技", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
{DeptId: 7, ParentId: 1, DeptPath: "/0/1/7", DeptName: "研发部", Sort: 1, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
{DeptId: 8, ParentId: 1, DeptPath: "/0/1/8", DeptName: "运维部", Sort: 0, Leader: "aituo", Phone: "13782218188", Email: "atuo@aituo.com", Status: "2", ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
@@ -34,10 +34,10 @@ func _1599190683670Test(db *gorm.DB, version string) error {
{Model: common.Model{ID: 3}, ModelTime: common.ModelTime{CreatedAt: time.Now(), UpdatedAt: time.Now()}, ControlBy: common.ControlBy{CreateBy: 1, UpdateBy: 1}, ConfigName: "主框架页-侧边栏主题", ConfigKey: "sys_index_sideTheme", ConfigValue: "theme-dark", ConfigType: "Y", Remark: "深色主题theme-dark,浅色主题theme-light"},
}
list5 := []models.Post{
{PostId: 1, PostName: "首席执行官", PostCode: "CEO", Sort: 0, Status: "2", Remark: "首席执行官", CreateBy: "1", UpdateBy: "1", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
{PostId: 2, PostName: "首席技术执行官", PostCode: "CTO", Sort: 2, Status: "2", Remark: "首席技术执行官", CreateBy: "1", UpdateBy: "1", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
{PostId: 3, PostName: "首席运营官", PostCode: "COO", Sort: 3, Status: "2", Remark: "测试工程师", CreateBy: "1", UpdateBy: "1", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
list5 := []Post{
{PostId: 1, PostName: "首席执行官", PostCode: "CEO", Sort: 0, Status: "2", Remark: "首席执行官", CreateBy: "1", UpdateBy: "1", CreatedAt: time.Now(), UpdatedAt: time.Now()},
{PostId: 2, PostName: "首席技术执行官", PostCode: "CTO", Sort: 2, Status: "2", Remark: "首席技术执行官", CreateBy: "1", UpdateBy: "1", CreatedAt: time.Now(), UpdatedAt: time.Now()},
{PostId: 3, PostName: "首席运营官", PostCode: "COO", Sort: 3, Status: "2", Remark: "测试工程师", CreateBy: "1", UpdateBy: "1", CreatedAt: time.Now(), UpdatedAt: time.Now()},
}
list6 := []models.SysRole{
@@ -57,8 +57,32 @@ func _1599190683670Test(db *gorm.DB, version string) error {
{DictId: 10, DictName: "通知状态", DictType: "sys_notice_status", Status: "2", CreateBy: "1", UpdateBy: "", Remark: "通知状态列表", BaseModel: models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}},
}
list8 := []models.SysUser{
{models.SysUserId{1}, models.LoginM{models.UserName{"admin"}, models.PassWord{"$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2"}}, models.SysUserB{"zhangwj", "13818888888", 1, "", "", "0", "1@qq.com", 1, 1, "1", "1", "", "2", models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}, "", ""}},
list8 := []system.SysUser{
{
ControlBy: common.ControlBy{
CreateBy: 1,
UpdateBy: 1,
},
ModelTime: common.ModelTime{
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
},
UserId: 1,
Username: "admin",
Password: "$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2",
NickName: "zhangwj",
Phone: "13818888888",
RoleId: 1,
Salt: "",
Avatar: "",
Sex: "1",
Email: "1@qq.com",
DeptId: 1,
PostId: 1,
Remark: "",
Status: "2",
},
//{models.SysUserId{1}, models.LoginM{models.UserName{"admin"}, models.PassWord{"$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2"}}, models.SysUserB{"zhangwj", "13818888888", 1, "", "", "0", "1@qq.com", 1, 1, "1", "1", "", "2", models.BaseModel{CreatedAt: time.Now(), UpdatedAt: time.Now()}, "", ""}},
}
list9 := []DictData{
@@ -24,7 +24,7 @@ func _1602644950000Test(db *gorm.DB, version string) error {
return err
}
}
list2 := []models.CasbinRule{
list2 := []system.CasbinRule{
{PType: "p", V0: "admin", V1: "/api/v1/config", V2: "GET"},
}
err := tx.Create(list2).Error
@@ -1,7 +1,8 @@
package version
import (
"go-admin/app/admin/models"
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
@@ -30,7 +31,7 @@ func _1606579402398Test(db *gorm.DB, version string) error {
return err
}
user := models.SysUser{}
user := system.SysUser{}
err = tx.Model(&user).Where("user_id = ?", 1).Update("status", 2).Error
if err != nil {
return err
@@ -1,7 +1,8 @@
package version
import (
"go-admin/app/admin/models"
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
@@ -18,7 +19,7 @@ func init() {
func _1606582844753Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
dept := models.SysDept{}
dept := system.SysDept{}
err := tx.Model(&dept).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
@@ -1,7 +1,8 @@
package version
import (
"go-admin/app/admin/models"
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
@@ -18,8 +19,8 @@ func init() {
func _1610427732413Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
// TODO: 这里开始写入要变更的内容
user := models.SysUser{}
// TODO: 这里开始写入要变更的内容
user := system.SysUser{}
err := tx.Model(&user).Where("status = ?", 0).Update("status", 2).Error
if err != nil {
return err
@@ -1,7 +1,6 @@
package version
import (
"go-admin/app/admin/models"
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
@@ -20,29 +19,27 @@ func init() {
func _1613638159444Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
// TODO: 这里开始写入要变更的内容
// TODO: 这里开始写入要变更的内容
// TODO: 例如 修改表字段 使用过程中请删除此段代码
err := tx.Migrator().AlterColumn(&system.SysRole{}, "create_by")
// TODO: 例如 修改表字段 使用过程中请删除此段代码
err := tx.Migrator().AlterColumn(&system.SysRole{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysRole{}, "update_by")
err = tx.Migrator().AlterColumn(&system.SysRole{}, "update_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&models.SysMenu{}, "update_by")
err = tx.Migrator().AlterColumn(&system.SysMenu{}, "update_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&models.SysMenu{}, "create_by")
err = tx.Migrator().AlterColumn(&system.SysMenu{}, "create_by")
if err != nil {
return err
}
return tx.Create(&common.Migration{
Version: version,
}).Error
@@ -1,7 +1,6 @@
package version
import (
"go-admin/app/admin/models"
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
@@ -21,11 +20,11 @@ func _1613697961697Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
//修改字段类型
err := tx.Migrator().AlterColumn(&models.SysMenu{}, "create_by")
err := tx.Migrator().AlterColumn(&system.SysMenu{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&models.SysMenu{}, "update_by")
err = tx.Migrator().AlterColumn(&system.SysMenu{}, "update_by")
if err != nil {
return err
}
@@ -0,0 +1,73 @@
package version
import (
"go-admin/app/admin/models"
"go-admin/app/admin/models/system"
//"go-admin/app/admin/models"
"gorm.io/gorm"
"runtime"
"go-admin/cmd/migrate/migration"
common "go-admin/common/models"
)
func init() {
_, fileName, _, _ := runtime.Caller(0)
migration.Migrate.SetVersion(migration.GetFilename(fileName), _1614604763713Test)
}
func _1614604763713Test(db *gorm.DB, version string) error {
return db.Transaction(func(tx *gorm.DB) error {
err := tx.Model(&models.Menu{}).Where("path = ?", "/api/v1/dict/typeoptionselect").Update("path", "/api/v1/dict/type-option-select").Error
if err != nil {
return err
}
err = tx.Model(&models.Menu{}).Where("action = ?", "GET").
Where("path = ?", "/api/v1/sysUserList").Update("path", "/api/v1/sysUser").Error
if err != nil {
return err
}
err = tx.Model(&models.Menu{}).Where("action = ?", "DELETE").
Where("path = ?", "/api/v1/sysUser/:id").Update("path", "/api/v1/sysUser").Error
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysUser{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&system.SysUser{}, "update_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&models.SysContent{}, "create_by")
if err != nil {
return err
}
err = tx.Migrator().AlterColumn(&models.SysContent{}, "update_by")
if err != nil {
return err
}
err = tx.Model(&models.Menu{}).Where("action = ?", "PUT").
Where("path = ?", "/api/v1/syscontent").Update("path", "/api/v1/syscontent/:id").Error
if err != nil {
return err
}
err = tx.Model(&models.Menu{}).Where("action = ?", "DELETE").
Where("path = ?", "/api/v1/syscontent/:id").Update("path", "/api/v1/syscontent").Error
if err != nil {
return err
}
return tx.Create(&common.Migration{
Version: version,
}).Error
})
}
+23
View File
@@ -0,0 +1,23 @@
package version
import (
"time"
)
type Post struct {
PostId int `gorm:"primaryKey;autoIncrement" json:"postId"` //岗位编号
PostName string `gorm:"size:128;" json:"postName"` //岗位名称
PostCode string `gorm:"size:128;" json:"postCode"` //岗位代码
Sort int `gorm:"" json:"sort"` //岗位排序
Status string `gorm:"size:4;" json:"status"` //状态
Remark string `gorm:"size:255;" json:"remark"` //描述
CreateBy string `gorm:"size:128;" json:"createBy"`
UpdateBy string `gorm:"size:128;" json:"updateBy"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
DeletedAt *time.Time `json:"deletedAt"`
}
func (Post) TableName() string {
return "sys_post"
}
+17 -7
View File
@@ -25,6 +25,7 @@ var (
configYml string
generate bool
goAdmin bool
host string
StartCmd = &cobra.Command{
Use: "migrate",
Short: "Initialize the database",
@@ -39,6 +40,7 @@ func init() {
StartCmd.PersistentFlags().StringVarP(&configYml, "config", "c", "config/settings.yml", "Start server with provided configuration file")
StartCmd.PersistentFlags().BoolVarP(&generate, "generate", "g", false, "generate migration file")
StartCmd.PersistentFlags().BoolVarP(&goAdmin, "goAdmin", "a", false, "generate go-admin migration file")
StartCmd.PersistentFlags().StringVarP(&host, "domain", "d", "*", "select tenant host")
}
func run() {
@@ -48,9 +50,12 @@ func run() {
//1. 读取配置
config.Setup(file.NewSource, file.WithPath(configYml))
//2. 设置日志
global.Logger.Logger = logger.SetupLogger(config.LoggerConfig.Path, "bus")
global.JobLogger.Logger = logger.SetupLogger(config.LoggerConfig.Path, "job")
global.RequestLogger.Logger = logger.SetupLogger(config.LoggerConfig.Path, "request")
global.Cfg.SetLogger(
logger.SetupLogger(
config.LoggerConfig.Type,
config.LoggerConfig.Path,
config.LoggerConfig.Level,
config.LoggerConfig.Stdout))
_ = initDB()
} else {
fmt.Println(`generate migration file`)
@@ -59,14 +64,19 @@ func run() {
}
func migrateModel() error {
if config.DatabaseConfig.Driver == "mysql" {
global.Eloquent.Set("gorm:table_options", "ENGINE=InnoDB CHARSET=utf8mb4")
if host == "" {
host = "*"
}
err := global.Eloquent.Debug().AutoMigrate(&models.Migration{})
db := global.Cfg.GetDbByKey(host)
if config.DatabasesConfig[host].Driver == "mysql" {
//初始化数据库时候用
db.Set("gorm:table_options", "ENGINE=InnoDB CHARSET=utf8mb4")
}
err := db.Debug().AutoMigrate(&models.Migration{})
if err != nil {
return err
}
migration.Migrate.SetDb(global.Eloquent.Debug())
migration.Migrate.SetDb(db.Debug())
migration.Migrate.Migrate()
return err
}