## Make命令
为了方便系统支持使用`make`创建模型文件,例如:
```
go run main.go make model project
```
输出:
```
[app/models/project/project_model.go] created.
[app/models/project/project_util.go] created.
[app/models/project/project_hooks.go] created.
```
## 模板文件
模型模板中放进去常用的方法,使用 `FIXME()` 这个不存在的函数,通知你要记得修改这个地方;
```
app/cmd/make/stubs/model/model.stub
```
`model_util` 模板文件我们放进去一些常用的方法:
```
app/cmd/make/stubs/model/model_util.stub
```
模型钩子文件我们放进去一些注册代码,方便使用。这些是 GORM 提供的模型钩子:
```
app/cmd/make/stubs/model/model_hooks.stub
```
```
package {{PackageName}}
// func ({{VariableName}} *{{StructName}}) BeforeSave(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) BeforeCreate(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) AfterCreate(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) BeforeUpdate(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) AfterUpdate(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) AfterSave(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) BeforeDelete(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) AfterDelete(tx *gorm.DB) (err error) {}
// func ({{VariableName}} *{{StructName}}) AfterFind(tx *gorm.DB) (err error) {}
```
- 序言
- 基础
- 安装GoHub
- 目录结构
- 开发规范
- 部署项目
- 架构
- 架构总览
- 生命周期
- 配置
- 配置介绍
- 配置目录
- 配置格式
- 配置加载
- 读取配置
- 动态配置
- 环境变量配置
- 路由
- 路由模式
- 路由定义
- 路由参数
- 路由分组
- 路由限流
- 路由拆分
- 控制器
- 控制定义
- 控制器初始化
- 中间件
- Make创建控制器
- 请求
- 请求信息
- 数据库
- 连接数据库
- 基本使用
- Make创建模型
- 日志
- 介绍
- 日志驱动
- 日志写入
- HTTP日志
- 数据库请求日志
- 错误和调试
- Debuger调试器
- 验证
- 验证器
- 验证规则
- Make创建验证器
- 杂项
- 缓存
- 分页
- 验证码
- CURL请求
- 命令行
- 基础知识
- console 包
- Cobra 基础
- 命令行模式
- 附录
- 配置参考
- 第三方依赖库