在我们的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 。