0

我有一个带有 postgres 数据库的 grails 3.3 项目。我正在使用 Liquibase DB 重构。

首先,grails 中似乎存在一个错误,因为迁移不会从 Grails 域类中选择默认值约束。为了解决这个问题,我创建了一个具有此值的自定义迁移文件:

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")

这是有问题的,因为每次运行迁移时我都必须注意更新迁移文件。什么是正确的解决方法?

4

0 回答 0