2016-12-15 52 views
0

在liquibase中,我有一個變更集,我試圖在env屬性被設置的情況下運行,在這種情況下是buildEnv,例如我通過-DbuildEnv=lcl。我在變更的頂部有這樣的:Liquibase變更集changeLogPropertyDefined - 多個屬性

<property name="env" value="${buildEnv}" dbms="oracle" /> 

然後向下跌破我:

<preConditions onFail="MARK_RAN"> 
    <changeLogPropertyDefined property="env" value="lcl, sit, ppte, prod"/> 
</preConditions> 

的問題是,這似乎並沒有被工作作爲或檢查。如果我通過在「拼箱」上面我希望它得到執行,而不是我得到的消息:

Expected changelog property 'env' to have a value of 'lcl, sit, ppte, prod'. Got 'lcl' 

任何想法如何這可能是固定或者可能以更簡單的方式來完成?

回答

1

你需要一個<or>

<preConditions onFail="MARK_RAN"> 
    <or> 
    <changeLogPropertyDefined property="env" value="lcl"/> 
    <changeLogPropertyDefined property="env" value="sit"/> 
    <changeLogPropertyDefined property="env" value="ppte"/> 
    <changeLogPropertyDefined property="env" value="prod"/> 
    </or> 
</preConditions> 
+0

非常感謝隊友:) – Pete