Liquibase customPrecondition导致maven插件失败

时间:2017-10-22 04:52:20

标签: maven liquibase

我们在maven项目中设置了liquibase脚本,我们使用liquibase maven插件在部署我们的软件时执行脚本。

我们需要确保只运行与所部署软件版本相关的liquibase脚本。

我已在liquibase中为每个变更集创建了一个自定义PreCondition,如下所示:

<preConditions onFail="CONTINUE">
    <customPrecondition className="class.CompatibleVersion">
        <param name="version" value="1.0.0"/>
    </customPrecondition>
</preConditions>

当precondition版本参数为&gt;时,此preCondition会抛出CustomPreconditionFailedException。 deployedVersion。

不幸的是,只要它抛出CustomPreconditionFailedException而不是跳过更改集(onFail =&#34; CONTINUE&#34;),前提条件就会工作,maven插件失败并带有以下内容:

Error setting up or running Liquibase: Migration failed for change set src/database/changelog/db.changelog-1.0.1.xml::1.0.1_script1::fred.smith:
[ERROR] Reason:
[ERROR] db.changelog-master.xml : liquibase.precondition.CustomPreconditionWrapper@2add4d24 : liquibase.exception.CustomPreconditionFailedException: Change set version : 1.0.1 incompatible with deploy version : 1.0.0. Skipping change set. Precondition Error

这是我希望它抛出的异常,但由于onFail =&#34; CONTINUE&#34;我希望跳过更改集。

我错过了什么?

感谢。

0 个答案:

没有答案