123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 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
- })
- }
|