如何将PostgreSQL函数设置为GORM中的默认值?

6

我希望能有类似这样的东西:

type User struct {
    ID          int     `sql:"default:<myfunction>"`
}

这在 GORM 中是否可能?
1个回答

13

你试过了吗?你可以做到

time.Time `sql:"DEFAULT:current_timestamp"`

它将使用"current_timestamp"函数。如果您希望默认值是字符串current_timestamp,则可以执行以下操作

time.Time `sql:"DEFAULT:'current_timestamp'"`

简而言之,是的,这是可能的。你只需要这样做:

type User struct {
    ID          int     `sql:"DEFAULT:myfunction"`
}

结果发现问题是我需要指定类型和主键才能使其工作: ID uint64 gorm:"primary_key" sql:"type:bigint; DEFAULT:id_generator()" - Ben Nichols
似乎无法添加默认值?EpisodeNum int json:"episodenum" gorm:"type:INTEGER; DEFAULT:0" - filthy_wizard
1
@user1232726 请尝试使用 json:"episodenum" gorm:"type:INTEGER" sql:"DEFAULT:0" - dave

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接