在Liquibase前提条件中检查是否不为null或不为0

时间:2019-01-10 16:35:36

标签: java liquibase changeset preconditions

我目前有关于liquibase前提条件的问题。 我只想在前提条件请求未回答0或null的情况下插入某些内容...我解释:

@AfterMapping
public void mapSomeString(MyEntity entity, MyEventPayload payload) {
    // do fancy stuff here
}

我希望仅在第一个请求给我结果的情况下播放我的changeSet。没有自定义前提条件,有没有办法做到这一点?

预先感谢

1 个答案:

答案 0 :(得分:1)

Liquibase提供了条件前提条件和/或/不可以与所有其他前提条件一起使用。在您的情况下,请用<sqlCheck><not>包裹起来。

<preConditions onFail="MARK_RAN">
    <not>
        <sqlCheck expectedResult="0">SELECT COUNT(1) FROM tableB WHERE column2 IS NOT NULL;</sqlCheck>
    </not>
</preConditions>

另请参阅Preconditions documentation