1、初始化项目
This commit is contained in:
326
template/api_migrate.template
Normal file
326
template/api_migrate.template
Normal file
@ -0,0 +1,326 @@
|
||||
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
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user