列の非 null 制約を削除するための db アップグレード スクリプトがあります。前提条件チェックを行い、ALTER TABLE
null 以外の場合にのみ呼び出したい。
master.xml スクリプトは、スクリプトを追加し続けるプログレッシブ スクリプトであり、すべてが毎回実行されます。Alter Table スクリプトを初めて実行した後は、再度実行したくありません。
これに対する定義済みの前提条件が見つからず、sqlcheck も書き込めませんでした。
列の非 null 制約を削除するための db アップグレード スクリプトがあります。前提条件チェックを行い、ALTER TABLE
null 以外の場合にのみ呼び出したい。
master.xml スクリプトは、スクリプトを追加し続けるプログレッシブ スクリプトであり、すべてが毎回実行されます。Alter Table スクリプトを初めて実行した後は、再度実行したくありません。
これに対する定義済みの前提条件が見つからず、sqlcheck も書き込めませんでした。
私の答えを修正します。Liquibase は、次のように null でない制約の追加操作をサポートしています。
<changeSet author="me" id="example-001">
<addNotNullConstraint
tableName="mytable"
columnName="mycol"
columnDataType="VARCHAR(10)"
defaultNullValue="NULL"/>
</changeSet>
これにより、null の列が自動的に処理されます。この例では、テキスト文字列 "NULL" が入力されます。
この変更セットに前提条件は必要ないと思います。最悪の場合、既存の列の制約を 1 回再適用します。Liquibase はすべての変更セットを追跡し、それらが再度実行されないようにします。