From 9a596397ca63c03d4bf84f1e9bf9ceedf6de4111 Mon Sep 17 00:00:00 2001 From: Vingurzhou Date: Mon, 8 Aug 2022 11:28:55 +0800 Subject: [PATCH 1/2] Update 1599190683659_tables.go --- cmd/migrate/migration/version/1599190683659_tables.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/migrate/migration/version/1599190683659_tables.go b/cmd/migrate/migration/version/1599190683659_tables.go index 64aa9706..5862dae3 100644 --- a/cmd/migrate/migration/version/1599190683659_tables.go +++ b/cmd/migrate/migration/version/1599190683659_tables.go @@ -17,7 +17,7 @@ func init() { func _1599190683659Tables(db *gorm.DB, version string) error { return db.Transaction(func(tx *gorm.DB) error { - err := tx.Set("gorm:table_options", "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ").Migrator().AutoMigrate( + err := tx.Set("gorm:table_options", "ENGINE=InnoDB DEFAULT CHARSET=utf8mb4").Migrator().AutoMigrate( new(models.CasbinRule), new(models.SysDept), new(models.SysConfig), From 8bfee8af1667cf53f04f992f050d6554a914fc2d Mon Sep 17 00:00:00 2001 From: zhangwenjian Date: Mon, 8 Aug 2022 16:28:26 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor=F0=9F=8E=A8:=20=20=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E8=8F=9C=E5=8D=95paths=E9=BB=98=E8=AE=A4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../version/1653638869132_migrate.go | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 cmd/migrate/migration/version/1653638869132_migrate.go diff --git a/cmd/migrate/migration/version/1653638869132_migrate.go b/cmd/migrate/migration/version/1653638869132_migrate.go new file mode 100644 index 00000000..59a8fa04 --- /dev/null +++ b/cmd/migrate/migration/version/1653638869132_migrate.go @@ -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 + }) +}