我正在使用Liquibase版本:2.0.1。
是否可以在格式化的sql文件中包含前置条件?如果是这样的话?一个例子将不胜感激。
我想做这样的事情但是在sql格式的文件中。
<preConditions onFail="WARN">
<sqlCheck expectedResult="0">select count(*) from oldtable</sqlCheck>
</preConditions>
答案 0 :(得分:7)
现在支持在liquibase格式的sql文件中指定前提条件。在变更集定义中,可以使用以下格式指定前提条件(从官方文档复制):
--preconditions onFail:HALT onError:HALT
--precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM my_table
在文档中注意到目前仅支持sql检查前提条件类型。
提供完整的文档at the liquibase website。
答案 1 :(得分:2)
不幸的是,当前的FormattedSql解析器不支持前置条件。
但是,您可以使用自己的解析器扩展默认类,但如果需要,可以使用它来支持它。见http://liquibase.org/extensions