【问题标题】:Why is Liquibase throwing this error: Could not parse a SqlCheck precondition为什么 Liquibase 会抛出此错误:无法解析 SqlCheck 前提条件
【发布时间】:2014-02-11 23:00:46
【问题描述】:

我正在尝试向 Liquibase 3.1.1 中的 SQL 格式变更集添加先决条件

--前提条件 onFail=HALT onError=HALT --precondition-sql-check expectedResult=0 SELECT COUNT(*) FROM USER_ERRORS WHERE TYPE = 'PROCEDURE' --changeset myteam:101 runAlways:true

Liquibase 在我运行状态时引发此错误:

Liquibase 状态失败:无法从“expectedResult=0 SELECT COUNT(*) FROM USER_ERRORS WHERE TYPE =”解析 SqlCheck 前提条件 程序''。

这个前置条件语法有什么问题?

【问题讨论】:

    标签: liquibase


    【解决方案1】:

    “expectedResult”后面需要有一个冒号而不是等号字符。

    所以该行应该是:

    --precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM USER_ERRORS WHERE TYPE = 'PROCEDURE'
    

    那么它应该可以工作了。

    编辑: (文档已更新。请参阅 Nathans 评论。)

    这在Formatted SQL Changelogs 的 liquibase 文档中也是错误的。

    【讨论】:

    • 我更新了文档,现在它是正确的。感谢您指出。
    猜你喜欢
    • 2015-08-15
    • 2022-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    相关资源
    最近更新 更多