一、GORM的约定
- 使用ID作为主键
- 使用结构体名的 蛇形复数 作为表名(默认是这样,也可以使用Table来指定操作的表名)
- 使用字段名的 蛇形 作为列名
- 使用 CreatedAt UpdatedAt 字段来追踪创建时间、更新时间
二、gorm.Model
为了更方便的使用后面GORM提供一系列CURD的函数
GORM提供了gorm.Model
其包括字段 ID CreatedAt UpdatedAt DeletedAt
GORM 约定使用 CreatedAt、UpdatedAt 追踪创建/更新时间。如果您定义了这种字段,GORM 在创建、更新时会自动填充 当前时间
注:当前时间需要在创建GORM数据库连接的时候就进行配置,否则时间不会是当前电脑的系统时间
gorm.Model的具体定义
// gorm.Model 的定义
type Model struct {
ID uint `gorm:"primaryKey"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
}
嵌入实体类中
type User struct {
gorm.Model
Name string
}
// 等效于
type User struct {
ID uint `gorm:"primaryKey"`
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt gorm.DeletedAt `gorm:"index"`
Name string
}
相对应的数据库