我有一个带有postgres数据库的grails 3.3项目。我正在使用Liquibase DB重构。
首先,grails中似乎存在一个错误,因为迁移不会从Grails Domain Class中选择默认值约束。为了解决这个问题,我创建了一个具有此值的自定义迁移文件:
addColumn(tableName: "task") {
column(name: "period", type: "int4", defaultValueNumeric: 0) {
constraints(nullable: "false")
}
}
我实现了自己的目的,因为添加的新列默认设置为0.但是,如果我为任何更改运行dbm-gorm-diff,它会在迁移中添加dropDefaultValue(因此尝试撤消我所做的手动更改)
dropDefaultValue(columnDataType: "int", columnName: "period", tableName: "task")
这是有问题的,因为每次运行迁移时我都必须处理更新迁移文件。什么是适当的解决方案?