GORM 在 postgresql 中更改时间格式

我在使用通用 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 的内容


谢谢你的帮助


慕侠2389804
浏览 110回答 1
1回答

摇曳的蔷薇

您可以使用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}然后在您的数据库模型中使用 BaseModeltype Data struct {    BaseModel    Name string}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go