changelog-master.xmlファイルには、DB スキーマに適用する変更セットのリストがあります。例えば:
<changeSet author="test" id="01-update" runOnChange="true">
<update tableName="system_attributes">
<column name="value" value="${WebServiceURL}" />
<where>key='WebServiceURL'</where>
</update>
</changeSet>
次に、動的プロパティがchangelog.xmlファイルで定義されます。
<!-- FROM TABLE SYSTEM_ATTRIBUTES -->
<property name="WebServiceURL" value="https://localhost/webService/" />
...
それを念頭に置いて、liquibase は、ツールの実行時に${WebServiceURL}
ステートメントを置き換えます。https://localhost/webService/
これはうまくいきます。しかし、プロパティがchangelog.xmlファイル${WebServiceURL}
で定義されていない場合、どのようにエラー処理を行うのでしょうか?
changelog-master.xmlが未定義の変数にアクセスしようとしたときに、トランザクション ロールバックを実行するか、ある種のエラー メッセージをスローして liquibase を終了する必要があります。