我目前遇到 liquibase 先决条件问题。 仅当前提条件请求不回答 0 或 null 时,我才想插入一些内容...我解释一下:
<changeSet id="myId" author="myName">
<preConditions onFail="MARK_RAN">
<sqlCheck expectedResult=????>SELECT COUNT(1) FROM tableB WHERE column2 IS NOT NULL;
</sqlCheck>
</preConditions>
<insert tableName="tableA">
<column name="column1" valueComputed="(SELECT columnA FROM tableB WHERE columnB IS NOT NULL;)" />
<column name="column2" valueComputed="(SELECT columnB FROM tableB WHERE columnB IS NOT NULL;)" />
</insert>
我希望只有在第一个请求给我结果时才播放我的changeSet。有没有办法在没有自定义前提条件的情况下做到这一点?
提前致谢
最佳答案
Liquibase 提供了条件前提条件和/或/不,可以与所有其他前提条件一起使用。对于您的情况,请包裹 <sqlCheck>
与 <not>
.
<preConditions onFail="MARK_RAN">
<not>
<sqlCheck expectedResult="0">SELECT COUNT(1) FROM tableB WHERE column2 IS NOT NULL;</sqlCheck>
</not>
</preConditions>
关于java - 检查 Liquibase Precondition 中是否不为 null 或不为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54133148/