【问题标题】:Liquibase changeset changeLogPropertyDefined - multiple propertiesLiquibase 变更集 changeLogPropertyDefined - 多个属性
【发布时间】:2016-12-15 15:22:11
【问题描述】:

在 liquibase 中,我有一个变更集,我试图在设置了 env 属性的情况下运行,在本例中为 buildEnv,例如,我使用 -DbuildEnv=lcl 传入。我在变更集的顶部有这个:

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

然后在下面我有:

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

问题是这似乎不能用作 OR 检查。如果我在上面传入“lcl”,我希望它会被执行,但我会收到以下消息:

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

有什么想法可以解决这个问题或可能以更简单的方式完成吗?

【问题讨论】:

    标签: java liquibase


    【解决方案1】:

    您需要&lt;or&gt;

    <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>
    

    【讨论】:

    • 非常感谢队友:)
    猜你喜欢
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 2018-01-01
    • 1970-01-01
    • 2016-10-05
    相关资源
    最近更新 更多