java - Liquibase 变更集 changeLogPropertyDefined - 多个属性

标签 java liquibase

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

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

最佳答案

您需要一个 <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>

关于java - Liquibase 变更集 changeLogPropertyDefined - 多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41158239/

相关文章:

Java : set a constant as a compilation argument

java - 线程上下文中的缓存是什么以及何时在 Java 中使用 volatile 关键字?

java - 将另一个子项目作为依赖项编译 gradle 子项目

java - Android Facebook sdk Session.OpenRequest(myFragment) 未定义?

sql - 来自 liquibase 菜鸟的几个问题

postgresql - 检查 TestContainers 的内容

java - 使用 JFreeChart 创建正态分布图

java - 针对不同目标的不同 Maven 配置

postgresql - 使用 liquibase 在 postgres 中删除索引时出现问题

liquibase - 如果存在具有相同引用详细信息但不同名称的外键,则 foreignKeyConstraintExists 前提条件似乎不充分