在回滚块中进行更正是否会影响 liquibase 变更集的校验和?

jor*_*npg 4 liquibase

发现了一些小错别字,例如:

    <rollback>
        <delete tableName="velocity_template">
            <where>id in ("from-address.vm", "myco.from-address.vm")</where>
        </delete>
    </rollback>
Run Code Online (Sandbox Code Playgroud)

    <rollback>
        <delete tableName="velocity_template">
            <where>id in ('from-address.vm', 'myco.from-address.vm')  </where>
        </delete>
    </rollback>
Run Code Online (Sandbox Code Playgroud)

是否可以在不需要回滚并重新应用变更集的情况下纠正这些问题?

这里的文档没有以某种方式具体说明有关回滚块的任何内容: http://www.liquibase.org/2009/03/what-effects-changeset-checksums.html

我的本地测试表明回滚块不是校验和计算的一部分。

zep*_*lin 6

回滚块不包含在校验和中,请参阅:

http://forum.liquibase.org/topic/fixing-and-enforcing-liquibase-rollbacks

但即使它们是,您也可以使用“validCheckSum”子标签,这是事后更新变更集的通用方法,不会使其在已经应用它的数据库上中断。

  • 文档链接不再有效。我在新的 liquibase 文档中没有找到这个答案。 (2认同)