From 3617c68a91692540282d79c63cd50b49d3de51f0 Mon Sep 17 00:00:00 2001 From: yanghao05 Date: Fri, 23 May 2025 22:02:36 +0800 Subject: [PATCH] feat: update --- pkg/ast/model/generage.go | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/pkg/ast/model/generage.go b/pkg/ast/model/generage.go index 45e7034..763440c 100644 --- a/pkg/ast/model/generage.go +++ b/pkg/ast/model/generage.go @@ -101,6 +101,25 @@ func Generate(tables []string, transformer Transformer) error { } items = append(items, tableInfo) + // tableFuncsFile + tableFuncsFile := fmt.Sprintf("%s/%s.funcs.gen.go", baseDir, table) + // 如果 modelFuncsFile 已存在,则跳过 + if _, err := os.Stat(tableFuncsFile); err == nil { + fmt.Printf("Model funcs file %s already exists. Skipping...\n", tableFuncsFile) + continue + } + + // 如果 modelFuncsFile 不存在,则创建 + fd, err := os.Create(tableFuncsFile) + if err != nil { + return fmt.Errorf("failed to create model funcs file %s: %w", tableFuncsFile, err) + } + defer fd.Close() + + if err := tableFuncsTpl.Execute(fd, tableInfo); err != nil { + return fmt.Errorf("failed to render model funcs template: %w", err) + } + modelFile := fmt.Sprintf("%s/%s.go", baseDir, table) // 如果 modelFile 已存在,则跳过 if _, err := os.Stat(modelFile); err == nil { @@ -109,7 +128,7 @@ func Generate(tables []string, transformer Transformer) error { } // 如果 modelFile 不存在,则创建 - fd, err := os.Create(modelFile) + fd, err = os.Create(modelFile) if err != nil { return fmt.Errorf("failed to create model file %s: %w", modelFile, err) } @@ -137,24 +156,6 @@ func Generate(tables []string, transformer Transformer) error { return fmt.Errorf("failed to render model test template: %w", err) } - // tableFuncsFile - tableFuncsFile := fmt.Sprintf("%s/%s.funcs.gen.go", baseDir, table) - // 如果 modelFuncsFile 已存在,则跳过 - if _, err := os.Stat(tableFuncsFile); err == nil { - fmt.Printf("Model funcs file %s already exists. Skipping...\n", tableFuncsFile) - continue - } - - // 如果 modelFuncsFile 不存在,则创建 - fd, err = os.Create(tableFuncsFile) - if err != nil { - return fmt.Errorf("failed to create model funcs file %s: %w", tableFuncsFile, err) - } - defer fd.Close() - - if err := tableFuncsTpl.Execute(fd, tableInfo); err != nil { - return fmt.Errorf("failed to render model funcs template: %w", err) - } } // 渲染总的 provider 文件