diff --git a/server/service/system/sys_auto_code.go b/server/service/system/sys_auto_code.go index 0f90ba1e..b5e263ad 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 feadc2f1..d9c1beb3 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,