带有前提条件的格式化SQL

时间:2011-03-10 15:07:00

标签: liquibase

我正在使用Liquibase版本:2.0.1。

是否可以在格式化的sql文件中包含前置条件?如果是这样的话?一个例子将不胜感激。

我想做这样的事情但是在sql格式的文件中。

 <preConditions onFail="WARN"> 
    <sqlCheck expectedResult="0">select count(*) from oldtable</sqlCheck> 
 </preConditions>

2 个答案:

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

相关问题