jordanpg
jordanpg

Reputation: 6516

Does making a correction in the rollback block affect the checksum of a liquibase changeset?

Minor typos were discovered, eg.:

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

to

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

Can these be corrected without the need to rollback and re-apply the changeset?

The docs here do not specifically say anything about the rollback block, one way or another: http://www.liquibase.org/2009/03/what-effects-changeset-checksums.html

My local testing suggests that the rollback block is not a part of the checksum calculation.

Upvotes: 4

Views: 1093

Answers (1)

zeppelin
zeppelin

Reputation: 9365

Rollback blocks are not included in the checksum, see:

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

But even if they were, you could have used "validCheckSum" sub-tag, which is a generic way to update the changeset post-factum, w/o making it break on databases on which it has already been applied.

Upvotes: 6

Related Questions