我们正在将我们的应用程序迁移到 Grails 数据库迁移插件,并面临 GORM 中的继承问题。
如果子级的规则不那么严格,那么父级插件会根据父级约束生成更改日志。
例子:
class A {
String foo
static constraints = {
foo (nullable: true)
}
}
class B extends A {
static constraints = {
foo (nullable: false)
}
}
Grails 迁移尝试将 NOT NULL 约束添加到字段 foo。
作为一种解决方法,我们创建了具有最弱约束的抽象父类 C,但我不喜欢这种解决方案。
有没有优雅的解决方案来处理这个问题?