模板操作

模板(Template)是数据驱动生成的基础,所有的代码(rest api、rpc、model、docker、kube)生成都会依赖模板, 默认情况下,模板生成器会选择内存中的模板进行生成,而对于有模板修改需求的开发者来讲,则需要将模板进行落盘, 从而进行模板修改,在下次代码生成时会加载指定路径下的模板进行生成。

使用帮助

  1. NAME:
  2. goctl template - template operation
  3. USAGE:
  4. goctl template command [command options] [arguments...]
  5. COMMANDS:
  6. init initialize the all templates(force update)
  7. clean clean the all cache templates
  8. update update template of the target category to the latest
  9. revert revert the target template to the latest
  10. OPTIONS:
  11. --help, -h show help

模板初始化

  1. NAME:
  2. goctl template init - initialize the all templates(force update)
  3. USAGE:
  4. goctl template init [command options] [arguments...]
  5. OPTIONS:
  6. --home value the goctl home path of the template

清除模板

  1. NAME:
  2. goctl template clean - clean the all cache templates
  3. USAGE:
  4. goctl template clean [command options] [arguments...]
  5. OPTIONS:
  6. --home value the goctl home path of the template

回滚指定分类模板

  1. NAME:
  2. goctl template update - update template of the target category to the latest
  3. USAGE:
  4. goctl template update [command options] [arguments...]
  5. OPTIONS:
  6. --category value, -c value the category of template, enum [api,rpc,model,docker,kube]
  7. --home value the goctl home path of the template

回滚模板

  1. NAME:
  2. goctl template revert - revert the target template to the latest
  3. USAGE:
  4. goctl template revert [command options] [arguments...]
  5. OPTIONS:
  6. --category value, -c value the category of template, enum [api,rpc,model,docker,kube]
  7. --name value, -n value the target file name of template
  8. --home value the goctl home path of the template

[!TIP]

--home 指定模板存储路径

模板加载

在代码生成时可以通过--home来指定模板所在文件夹,目前已支持指定模板目录的命令有:

  • goctl api go 详情可以通过goctl api go --help查看帮助
  • goctl docker 详情可以通过goctl docker --help查看帮助
  • goctl kube 详情可以通过goctl kube --help查看帮助
  • goctl rpc new 详情可以通过goctl rpc new --help查看帮助
  • goctl rpc proto 详情可以通过goctl rpc proto --help查看帮助
  • goctl model mysql ddl 详情可以通过goctl model mysql ddl --help查看帮助
  • goctl model mysql datasource 详情可以通过goctl model mysql datasource --help查看帮助
  • goctl model postgresql datasource 详情可以通过goctl model mysql datasource --help查看帮助
  • goctl model mongo 详情可以通过goctl model mongo --help查看帮助

默认情况(在不指定--home)会从$HOME/.goctl目录下读取。

使用示例

  • 初始化模板到指定$HOME/template目录下
    1. $ goctl template init --home $HOME/template
  1. Templates are generated in /Users/anqiansong/template, edit on your risk!
  • 使用$HOME/template模板进行greet rpc生成
    1. $ goctl rpc new greet --home $HOME/template
  1. Done