🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 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) {} ```