我在使用通用 GORM 模型的 postgresql 表中遇到时间问题 gorm.Model带字段 type Model struct { ID uint `gorm:"primary_key"` CreatedAt time.Time UpdatedAt time.Time DeletedAt *time.Time `sql:"index"`}表中的所有日期都具有格式 2020-04-21 22:05:07.067446 请我可以更改为 timstamp(LONG) 或没有 .067446 的内容谢谢你的帮助
1 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
您可以使用BeforeCreate和BeforeUpdate挂钩gorm.Model手动设置数据库的值。创建BaseModel,因为您不能将类型接收器用于其他包类型。
type BaseModel struct {
gorm.Model
}
然后手动设置该值CreatedAt,UpdatedAt无需纳秒
func (b *BaseModel) BeforeCreate() (err error) {
b.CreatedAt = time.Unix(time.Now().Unix(), 0) // Calculate without nanosec
return
}
func (b *BaseModel) BeforeUpdate() (err error) {
b.UpdatedAt = time.Unix(time.Now().Unix(), 0) // Calculate without nanosec
return
}
然后在您的数据库模型中使用 BaseModel
type Data struct {
BaseModel
Name string
}
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消