1
如果設置了自定義屬性,我無法找到檢查預置條件元素的方法。Liquibase:檢查是否設置了屬性
我到目前爲止發現的這個問題是here。 正如票據評論所指出的,如果不修改API,擴展CustomPrecondition將無濟於事。有另一種方法嗎?
如果設置了自定義屬性,我無法找到檢查預置條件元素的方法。Liquibase:檢查是否設置了屬性
我到目前爲止發現的這個問題是here。 正如票據評論所指出的,如果不修改API,擴展CustomPrecondition將無濟於事。有另一種方法嗎?
documentation描述了changeLogPropertyDefined前提條件。
下面的例子爲我工作得很好:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
<changeSet author="mark (generated)" id="mark-1">
<preConditions onFail="HALT">
<changeLogPropertyDefined property="testing" value="1"/>
</preConditions>
<createTable tableName="TEST001">
<column name="ID" type="VARCHAR(10)">
<constraints nullable="false"/>
</column>
<column name="X" type="VARCHAR(9)">
<constraints nullable="false"/>
</column>
<column name="Y" type="DECIMAL(7,2)"/>
<column name="Z" type="DECIMAL(7,2)"/>
</createTable>
</changeSet>
</databaseChangeLog>
我從Maven的運行liquibase。測試屬性可以從命令行設置如下:
mvn -Dtesting=1 compile
哇,我必須是盲人,不知道我怎麼會錯過這個:)謝謝你的回答! – nansen 2012-04-24 20:20:31
@nansen前提條件名稱具有誤導性。我必須測試它是否適用於普通的Java屬性 – 2012-04-24 20:28:42