From 2fbed17ebc97cf098b67431106461de604701411 Mon Sep 17 00:00:00 2001 From: piexlMax Date: Fri, 8 Sep 2023 16:37:58 +0800 Subject: [PATCH] =?UTF-8?q?[fixed]=E4=BF=AE=E5=A4=8D=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=BA=93=E7=94=9F=E6=88=90=E4=BB=A3=E7=A0=81gorm=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E8=BF=81=E7=A7=BB=E6=95=B0=E6=8D=AE=E5=BA=93name?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/service/system/sys_auto_code.go | 4 ++-- server/utils/ast/ast_gorm.go | 13 +++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/server/service/system/sys_auto_code.go b/server/service/system/sys_auto_code.go index 0f90ba1eb..b5e263ad7 100644 --- a/server/service/system/sys_auto_code.go +++ b/server/service/system/sys_auto_code.go @@ -321,8 +321,8 @@ func (autoCodeService *AutoCodeService) CreateTemp(autoCode system.AutoCodeStruc // 在gorm.go 注入 自动迁移 path := filepath.Join(global.GVA_CONFIG.AutoCode.Root, global.GVA_CONFIG.AutoCode.Server, global.GVA_CONFIG.AutoCode.SInitialize, "gorm.go") - autoCode.BusinessDB = utils.MaheHump(autoCode.BusinessDB) // 这里将 数据库中间存在 - 的转换为驼峰 - ast2.AddRegisterTablesAst(path, "RegisterTables", autoCode.Package, autoCode.BusinessDB, autoCode.StructName) + varDB := utils.MaheHump(autoCode.BusinessDB) + ast2.AddRegisterTablesAst(path, "RegisterTables", autoCode.Package, varDB, autoCode.BusinessDB, autoCode.StructName) } { diff --git a/server/utils/ast/ast_gorm.go b/server/utils/ast/ast_gorm.go index feadc2f1a..d9c1beb3e 100644 --- a/server/utils/ast/ast_gorm.go +++ b/server/utils/ast/ast_gorm.go @@ -11,7 +11,7 @@ import ( ) // 自动为 gorm.go 注册一个自动迁移 -func AddRegisterTablesAst(path, funcName, pk, dbName, model string) { +func AddRegisterTablesAst(path, funcName, pk, varName, dbName, model string) { modelPk := fmt.Sprintf("github.com/flipped-aurora/gin-vue-admin/server/model/%s", pk) src, err := os.ReadFile(path) if err != nil { @@ -27,8 +27,8 @@ func AddRegisterTablesAst(path, funcName, pk, dbName, model string) { if FuncNode != nil { ast.Print(fileSet, FuncNode) } - addDBVar(FuncNode.Body, dbName) - addAutoMigrate(FuncNode.Body, dbName, pk, model) + addDBVar(FuncNode.Body, varName, dbName) + addAutoMigrate(FuncNode.Body, varName, pk, model) var out []byte bf := bytes.NewBuffer(out) printer.Fprint(bf, fileSet, astFile) @@ -37,15 +37,16 @@ func AddRegisterTablesAst(path, funcName, pk, dbName, model string) { } // 增加一个 db库变量 -func addDBVar(astBody *ast.BlockStmt, dbName string) { +func addDBVar(astBody *ast.BlockStmt, varName, dbName string) { if dbName == "" { return } dbStr := fmt.Sprintf("\"%s\"", dbName) + for i := range astBody.List { if assignStmt, ok := astBody.List[i].(*ast.AssignStmt); ok { if ident, ok := assignStmt.Lhs[0].(*ast.Ident); ok { - if ident.Name == dbName { + if ident.Name == varName { return } } @@ -54,7 +55,7 @@ func addDBVar(astBody *ast.BlockStmt, dbName string) { assignNode := &ast.AssignStmt{ Lhs: []ast.Expr{ &ast.Ident{ - Name: dbName, + Name: varName, }, }, Tok: token.DEFINE,