首页 > 解决方案 > DatabaseChangeLog 不记录 exectype 不是“EXECUTED”的行

问题描述

我正在使用 Liquibase 3.8.0 运行迁移,我注意到 DatabaseChangelog 表中只有 exectype 为“EXECUTED”的行,这意味着迁移成功。

我运行了一些有错误的迁移,但它们没有出现在 DatabaseChangelog 表中。我希望有几行带有 exectype“FAILED”。我错过了一个属性吗?示例变更集:

    <changeSet id="TestFailOnError" author="myName">
        <sqlFile path="./TestFailOnError.sql" relativeToChangelogFile="true" />
    </changeSet>

标签: liquibase

解决方案


变更集可能在 DATABASECHANGELOG 的 ExecType 列中具有值“FAILED”,但唯一发生的情况是变更集具有“failOnError”属性设置为 FALSE 的前提条件。

通常,当变更集失败时,只会停止 liquibase 执行,并且预计您将解决问题,然后重新运行更新命令以部署这些变更集。


推荐阅读