您如何用Gorm进行迁移?例如,我需要在列中添加约束。我更改了模型(下面简化的示例(,但是根据文档,自动移民方法不会更改列的约束。
那么您如何实现?我在文档中找不到任何有用的东西
启动模型:
type User struct {
gorm.Model
Name string
}
我想这样更新它:
type User struct {
gorm.Model
Name string `gorm:"not null"`
}
添加not null
约束时,当现有记录不符合新标准时,还需要添加default
值。定义可能是:
type User struct {
gorm.Model
Name string `gorm:"not null;default:'fillertext'"`
}
正如@putu所说,ALTER TABLE
肯定会起作用,但是您仍然需要添加一个默认值,以确保非构造行满足新要求。完成此操作后,您可以删除默认值,如果您需要,并且迁移将按照从那时起的预期工作。