Gorm-通过迁移升级列约束

丹尼尔·莫兰迪尼(Daniel Morandini):

如何使用gorm执行迁移?例如,我需要向列添加约束。我更改了模型(以下为简化示例),但是根据文档,AutoMigrate方法不会更改列的约束。

那你如何实现呢?我找不到任何有用的文档

起始型号:

type User struct {
    gorm.Model
    Name     string
}

我想这样更新它:

type User struct {
    gorm.Model
    Name     string   `gorm:"not null"`
}
泰勒·弗雷(Taylor Frey):

添加not null约束时,default当现有记录不满足新条件时,还需要添加一个值。定义可能类似于:

type User struct {
    gorm.Model
    Name     string   `gorm:"not null;default:'fillertext'"`
}

就像@putu所说的那样,ALTER TABLE当然可以,但是您仍然需要最初添加一个默认值,以确保不合格的行满足新要求。完成此操作后,您可以根据需要删除默认值,并且此后迁移将按预期进行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章