package version import ( "gorm.io/gorm" "runtime" "time" "github.com/go-admin-team/go-admin-core/sdk/pkg" "go-admin/cmd/migrate/migration" common "go-admin/common/models" ) type Menu struct { MenuId int `json:"menuId" gorm:"primaryKey;autoIncrement"` MenuName string `json:"menuName" gorm:"size:128;"` Title string `json:"title" gorm:"size:128;"` Icon string `json:"icon" gorm:"size:128;"` Path string `json:"path" gorm:"size:128;"` Paths string `json:"paths" gorm:"size:128;"` MenuType string `json:"menuType" gorm:"size:1;"` Action string `json:"action" gorm:"size:16;"` Permission string `json:"permission" gorm:"size:255;"` ParentId int `json:"parentId" gorm:"size:11;"` NoCache bool `json:"noCache" gorm:"size:8;"` Breadcrumb string `json:"breadcrumb" gorm:"size:255;"` Component string `json:"component" gorm:"size:255;"` Sort int `json:"sort" gorm:"size:4;"` Visible string `json:"visible" gorm:"size:1;"` CreateBy string `json:"createBy" gorm:"size:128;"` UpdateBy string `json:"updateBy" gorm:"size:128;"` IsFrame string `json:"isFrame" gorm:"size:1;DEFAULT:0;"` CreatedAt time.Time `json:"createdAt"` UpdatedAt time.Time `json:"updatedAt"` DeletedAt *time.Time `json:"deletedAt"` } func (Menu) TableName() string { return "sys_menu" } func init() { _, fileName, _, _ := runtime.Caller(0) migration.Migrate.SetVersion(migration.GetFilename(fileName), _{{.GenerateTime}}Test) } func _{{.GenerateTime}}Test(db *gorm.DB, version string) error { return db.Transaction(func(tx *gorm.DB) error { timeNow := pkg.GetCurrentTime() Mmenu := Menu{} Mmenu.MenuName = "{{.TBName}}Manage" Mmenu.Title = "{{.TableComment}}" Mmenu.Icon = "pass" Mmenu.Path = "/{{.TBName}}" Mmenu.MenuType = "M" Mmenu.Action = "无" Mmenu.ParentId = 0 Mmenu.NoCache = false Mmenu.Component = "Layout" Mmenu.Sort = 0 Mmenu.Visible = "0" Mmenu.IsFrame = "0" Mmenu.CreateBy = "1" Mmenu.UpdateBy = "1" Mmenu.CreatedAt = timeNow Mmenu.UpdatedAt = timeNow // Mmenu.MenuId, err = Mmenu.Create(db) err := tx.Create(&Mmenu).Error if err != nil { return err } Cmenu := Menu{} Cmenu.MenuName = "{{.TBName}}" Cmenu.Title = "{{.TableComment}}" Cmenu.Icon = "pass" Cmenu.Path = "{{.TBName}}" Cmenu.MenuType = "C" Cmenu.Action = "无" Cmenu.Permission = "{{.PackageName}}:{{.BusinessName}}:list" Cmenu.ParentId = Mmenu.MenuId Cmenu.NoCache = false Cmenu.Component = "/{{.BusinessName}}/index" Cmenu.Sort = 0 Cmenu.Visible = "0" Cmenu.IsFrame = "0" Cmenu.CreateBy = "1" Cmenu.UpdateBy = "1" Cmenu.CreatedAt = timeNow Cmenu.UpdatedAt = timeNow // Cmenu.MenuId, err = Cmenu.Create(db) err = tx.Create(&Cmenu).Error if err != nil { return err } MList := Menu{} MList.MenuName = "" MList.Title = "分页获取{{.TableComment}}" MList.Icon = "" MList.Path = "{{.TBName}}" MList.MenuType = "F" MList.Action = "无" MList.Permission = "{{.PackageName}}:{{.BusinessName}}:query" MList.ParentId = Cmenu.MenuId MList.NoCache = false MList.Sort = 0 MList.Visible = "0" MList.IsFrame = "0" MList.CreateBy = "1" MList.UpdateBy = "1" MList.CreatedAt = timeNow MList.UpdatedAt = timeNow // MList.MenuId, err = MList.Create(db) err = tx.Create(&MList).Error if err != nil { return err } MCreate := Menu{} MCreate.MenuName = "" MCreate.Title = "创建{{.TableComment}}" MCreate.Icon = "" MCreate.Path = "{{.TBName}}" MCreate.MenuType = "F" MCreate.Action = "无" MCreate.Permission = "{{.PackageName}}:{{.BusinessName}}:add" MCreate.ParentId = Cmenu.MenuId MCreate.NoCache = false MCreate.Sort = 0 MCreate.Visible = "0" MCreate.IsFrame = "0" MCreate.CreateBy = "1" MCreate.UpdateBy = "1" MCreate.CreatedAt = timeNow MCreate.UpdatedAt = timeNow // MCreate.MenuId, err = MCreate.Create(db) err = tx.Create(&MCreate).Error if err != nil { return err } MUpdate := Menu{} MUpdate.MenuName = "" MUpdate.Title = "修改{{.TableComment}}" MUpdate.Icon = "" MUpdate.Path = "{{.TBName}}" MUpdate.MenuType = "F" MUpdate.Action = "无" MUpdate.Permission ="{{.PackageName}}:{{.BusinessName}}:edit" MUpdate.ParentId = Cmenu.MenuId MUpdate.NoCache = false MUpdate.Sort = 0 MUpdate.Visible = "0" MUpdate.IsFrame = "0" MUpdate.CreateBy = "1" MUpdate.UpdateBy = "1" MUpdate.CreatedAt = timeNow MUpdate.UpdatedAt = timeNow // MUpdate.MenuId, err = MUpdate.Create(db) err = tx.Create(&MUpdate).Error if err != nil { return err } MDelete := Menu{} MDelete.MenuName = "" MDelete.Title = "删除{{.TableComment}}" MDelete.Icon = "" MDelete.Path = "{{.TBName}}" MDelete.MenuType = "F" MDelete.Action = "无" MDelete.Permission = "{{.PackageName}}:{{.BusinessName}}:remove" MDelete.ParentId = Cmenu.MenuId MDelete.NoCache = false MDelete.Sort = 0 MDelete.Visible = "0" MDelete.IsFrame = "0" MDelete.CreateBy = "1" MDelete.UpdateBy = "1" MDelete.CreatedAt = timeNow MDelete.UpdatedAt = timeNow // MDelete.MenuId, err = MDelete.Create(db) err = tx.Create(&MDelete).Error if err != nil { return err } var InterfaceId = 63 Amenu := Menu{} Amenu.MenuName = "{{.TBName}}" Amenu.Title = "{{.TableComment}}" Amenu.Icon = "bug" Amenu.Path = "{{.TBName}}" Amenu.MenuType = "M" Amenu.Action = "无" Amenu.ParentId = InterfaceId Amenu.NoCache = false Amenu.Sort = 0 Amenu.Visible = "1" Amenu.IsFrame = "0" Amenu.CreateBy = "1" Amenu.UpdateBy = "1" Amenu.CreatedAt = timeNow Amenu.UpdatedAt = timeNow // Amenu.MenuId, err = Amenu.Create(db) err = tx.Create(&Amenu).Error if err != nil { return err } AList := Menu{} AList.MenuName = "" AList.Title = "分页获取{{.TableComment}}" AList.Icon = "bug" AList.Path = "/api/v1/{{.ModuleName}}" AList.MenuType = "A" AList.Action = "GET" AList.ParentId = Amenu.MenuId AList.NoCache = false AList.Sort = 0 AList.Visible = "1" AList.IsFrame = "0" AList.CreateBy = "1" AList.UpdateBy = "1" AList.CreatedAt = timeNow AList.UpdatedAt = timeNow // AList.MenuId, err = AList.Create(db) err = tx.Create(&AList).Error if err != nil { return err } AGet := Menu{} AGet.MenuName = "" AGet.Title = "根据id获取{{.TableComment}}" AGet.Icon = "bug" AGet.Path = "/api/v1/{{.ModuleName}}/:id" AGet.MenuType = "A" AGet.Action = "GET" AGet.ParentId = Amenu.MenuId AGet.NoCache = false AGet.Sort = 0 AGet.Visible = "1" AGet.IsFrame = "0" AGet.CreateBy = "1" AGet.UpdateBy = "1" AGet.CreatedAt = timeNow AGet.UpdatedAt = timeNow // AGet.MenuId, err = AGet.Create(db) err = tx.Create(&AGet).Error if err != nil { return err } ACreate := Menu{} ACreate.MenuName = "" ACreate.Title = "创建{{.TableComment}}" ACreate.Icon = "bug" ACreate.Path = "/api/v1/{{.ModuleName}}" ACreate.MenuType = "A" ACreate.Action = "POST" ACreate.ParentId = Amenu.MenuId ACreate.NoCache = false ACreate.Sort = 0 ACreate.Visible = "1" ACreate.IsFrame = "0" ACreate.CreateBy = "1" ACreate.UpdateBy = "1" ACreate.CreatedAt = timeNow ACreate.UpdatedAt = timeNow // ACreate.MenuId, err = ACreate.Create(db) err = tx.Create(&ACreate).Error if err != nil { return err } AUpdate := Menu{} AUpdate.MenuName = "" AUpdate.Title = "修改{{.TableComment}}" AUpdate.Icon = "bug" AUpdate.Path = "/api/v1/{{.ModuleName}}/:id" AUpdate.MenuType = "A" AUpdate.Action = "PUT" AUpdate.ParentId = Amenu.MenuId AUpdate.NoCache = false AUpdate.Sort = 0 AUpdate.Visible = "1" AUpdate.IsFrame = "0" AUpdate.CreateBy = "1" AUpdate.UpdateBy = "1" AUpdate.CreatedAt = timeNow AUpdate.UpdatedAt = timeNow // AUpdate.MenuId, err = AUpdate.Create(db) err = tx.Create(&AUpdate).Error if err != nil { return err } ADelete := Menu{} ADelete.MenuName = "" ADelete.Title = "删除{{.TableComment}}" ADelete.Icon = "bug" ADelete.Path = "/api/v1/{{.ModuleName}}" ADelete.MenuType = "A" ADelete.Action = "DELETE" ADelete.ParentId = Amenu.MenuId ADelete.NoCache = false ADelete.Sort = 0 ADelete.Visible = "1" ADelete.IsFrame = "0" ADelete.CreateBy = "1" ADelete.UpdateBy = "1" ADelete.CreatedAt = timeNow ADelete.UpdatedAt = timeNow //ADelete.MenuId, err = ADelete.Create(db) err = tx.Create(&ADelete).Error if err != nil { return err } return tx.Create(&common.Migration{ Version: version, }).Error }) }