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

时间:2016-10-31 19:04:59

标签: liquibase

发现了小错字,例如:

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

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

这些可以在不需要回滚和重新应用变更集的情况下得到纠正吗?

这里的文档并没有特别说明回滚块的任何内容:http://www.liquibase.org/2009/03/what-effects-changeset-checksums.html

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

1 个答案:

答案 0 :(得分:1)

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

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

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