1
This commit is contained in:
53
cmd/migrate/migration/version/1599190683659_tables.go
Normal file
53
cmd/migrate/migration/version/1599190683659_tables.go
Normal file
@ -0,0 +1,53 @@
|
||||
package version
|
||||
|
||||
import (
|
||||
"github.com/go-admin-team/go-admin-core/sdk/config"
|
||||
"runtime"
|
||||
|
||||
"go-admin/cmd/migrate/migration"
|
||||
"go-admin/cmd/migrate/migration/models"
|
||||
common "go-admin/common/models"
|
||||
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
func init() {
|
||||
_, fileName, _, _ := runtime.Caller(0)
|
||||
migration.Migrate.SetVersion(migration.GetFilename(fileName), _1599190683659Tables)
|
||||
}
|
||||
|
||||
func _1599190683659Tables(db *gorm.DB, version string) error {
|
||||
return db.Transaction(func(tx *gorm.DB) error {
|
||||
if config.DatabaseConfig.Driver == "mysql" {
|
||||
tx = tx.Set("gorm:table_options", "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4")
|
||||
}
|
||||
err := tx.Migrator().AutoMigrate(
|
||||
new(models.SysDept),
|
||||
new(models.SysConfig),
|
||||
new(models.SysTables),
|
||||
new(models.SysColumns),
|
||||
new(models.SysMenu),
|
||||
new(models.SysLoginLog),
|
||||
new(models.SysOperaLog),
|
||||
new(models.SysRoleDept),
|
||||
new(models.SysUser),
|
||||
new(models.SysRole),
|
||||
new(models.SysPost),
|
||||
new(models.DictData),
|
||||
new(models.DictType),
|
||||
new(models.SysJob),
|
||||
new(models.SysConfig),
|
||||
new(models.SysApi),
|
||||
new(models.TbDemo),
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := models.InitDb(tx); err != nil {
|
||||
return err
|
||||
}
|
||||
return tx.Create(&common.Migration{
|
||||
Version: version,
|
||||
}).Error
|
||||
})
|
||||
}
|
||||
48
cmd/migrate/migration/version/1653638869132_migrate.go
Normal file
48
cmd/migrate/migration/version/1653638869132_migrate.go
Normal file
@ -0,0 +1,48 @@
|
||||
package version
|
||||
|
||||
import (
|
||||
"go-admin/cmd/migrate/migration/models"
|
||||
common "go-admin/common/models"
|
||||
"gorm.io/gorm"
|
||||
"runtime"
|
||||
"strconv"
|
||||
|
||||
"go-admin/cmd/migrate/migration"
|
||||
)
|
||||
|
||||
func init() {
|
||||
_, fileName, _, _ := runtime.Caller(0)
|
||||
migration.Migrate.SetVersion(migration.GetFilename(fileName), _1653638869132Test)
|
||||
}
|
||||
|
||||
func _1653638869132Test(db *gorm.DB, version string) error {
|
||||
return db.Transaction(func(tx *gorm.DB) error {
|
||||
var list []models.SysMenu
|
||||
err := tx.Model(&models.SysMenu{}).Order("parent_id,menu_id").Find(&list).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, v := range list {
|
||||
if v.ParentId == 0 {
|
||||
v.Paths = "/0/" + strconv.Itoa(v.MenuId)
|
||||
} else {
|
||||
var e models.SysMenu
|
||||
err = tx.Model(&models.SysMenu{}).Where("menu_id=?", v.ParentId).First(&e).Error
|
||||
if err != nil {
|
||||
if err == gorm.ErrRecordNotFound {
|
||||
continue
|
||||
}
|
||||
return err
|
||||
}
|
||||
v.Paths = e.Paths + "/" + strconv.Itoa(v.MenuId)
|
||||
}
|
||||
err = tx.Model(&v).Update("paths", v.Paths).Error
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return tx.Create(&common.Migration{
|
||||
Version: version,
|
||||
}).Error
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user