| 123456789101112131415161718192021222324252627282930 |
- package make
- import (
- "fmt"
- "os"
- "github.com/spf13/cobra"
- )
- var CmdMakeModel = &cobra.Command{
- Use: "model",
- Short: "Create model file, example: make model user",
- Run: runMakeModel,
- Args: cobra.ExactArgs(1), // 只允许且必须传 1 个参数
- }
- func runMakeModel(cmd *cobra.Command, args []string) {
- // 格式化模型名称,返回一个 Model 实例
- model := makeModelFromString(args[0])
- // 目录, 例如: `app/models/user/`
- dir := fmt.Sprintf("app/models/%s/", model.PackageName)
- _ = os.MkdirAll(dir, os.ModePerm)
- // 替换变量
- createFileFromTpl(dir+model.PackageName+"_model.go", "model/model", model)
- createFileFromTpl(dir+model.PackageName+"_util.go", "model/model_util", model)
- createFileFromTpl(dir+model.PackageName+"_hooks.go", "model/model_hooks", model)
- }
|