mirror of
https://github.com/go-admin-team/go-admin.git
synced 2026-09-21 18:20:50 +00:00
feat✨ :菜单配置迁移脚本功能
This commit is contained in:
@@ -3,7 +3,9 @@ package tools
|
||||
import (
|
||||
"bytes"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"text/template"
|
||||
"time"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/api"
|
||||
@@ -135,6 +137,30 @@ func (e *Gen) GenCodeV3(c *gin.Context) {
|
||||
e.OK(c, "", "Code generated successfully!")
|
||||
}
|
||||
|
||||
func (e *Gen) GenApiToFile(c *gin.Context) {
|
||||
log := e.GetLogger(c)
|
||||
table := tools.SysTables{}
|
||||
id, err := pkg.StringToInt(c.Param("tableId"))
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
return
|
||||
}
|
||||
|
||||
db, err := pkg.GetOrm(c)
|
||||
if err != nil {
|
||||
log.Errorf("get db connection error, %s", err.Error())
|
||||
e.Error(c, http.StatusInternalServerError, err, "数据库连接获取失败")
|
||||
return
|
||||
}
|
||||
|
||||
table.TableId = id
|
||||
tab, _ := table.Get(db)
|
||||
e.genApiToFile(c, tab)
|
||||
|
||||
e.OK(c, "", "Code generated successfully!")
|
||||
}
|
||||
|
||||
func (e *Gen) NOActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
log := e.GetLogger(c)
|
||||
|
||||
@@ -219,6 +245,29 @@ func (e *Gen) NOActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
func (e *Gen) genApiToFile(c *gin.Context, tab tools.SysTables) {
|
||||
log := e.GetLogger(c)
|
||||
|
||||
basePath := "template/"
|
||||
|
||||
t1, err := template.ParseFiles(basePath + "api_migrate.template")
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
e.Error(c, 500, err, "")
|
||||
return
|
||||
}
|
||||
i := strconv.FormatInt(time.Now().UnixNano()/1e6, 10)
|
||||
var b1 bytes.Buffer
|
||||
err = t1.Execute(&b1, struct {
|
||||
tools.SysTables
|
||||
GenerateTime string
|
||||
}{tab,i} )
|
||||
|
||||
pkg.FileCreate(b1, "./cmd/migrate/migration/version/"+i+"_migrate.go")
|
||||
|
||||
}
|
||||
|
||||
func (e *Gen) ActionsGenV3(c *gin.Context, tab tools.SysTables) {
|
||||
log := api.GetRequestLogger(c)
|
||||
basePath := "template/v4/"
|
||||
@@ -525,4 +574,4 @@ func (e *Gen) GenMenuAndApi(c *gin.Context) {
|
||||
ADelete.MenuId, err = ADelete.Create(db)
|
||||
|
||||
e.OK(c, "", "数据生成成功!")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user