ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 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) {} ```