アプリケーションを Grails データベース移行プラグインに移行しており、GORM の継承に関する問題に直面しています。
子のルールがそれほど厳しくない場合、親のプラグインは親の制約に基づいて変更ログを生成します。
例:
class A {
String foo
static constraints = {
foo (nullable: true)
}
}
class B extends A {
static constraints = {
foo (nullable: false)
}
}
Grails の移行では、フィールド foo に NOT NULL 制約を追加しようとします。
回避策として、最も弱い制約を持つ抽象親クラス C を作成しましたが、私はこの解決策が好きではありません。
この問題を処理するエレガントなソリューションはありますか?