Output to sql fails after upgrading to liquibase 3.3.1 from 2.0.5

Hi,

We have recently upgraded Liquibase to 3.3.1 from 2.0.5.

We have clients using older versions of our products, which had Liquibase 2. So the Liquibase checksums in their databases are in the format of Liquibase 2.

Now, we want to upgrade those clients using Liquibase 3. If we update their database normally, it works fine. However, if we output the result to a file, we get the following error :

liquibase.exception.ValidationFailedException: Validation Failed:

 187 change sets check sum</div>

      META-INF/database/changes.xml::Manually create the hibernate auto-increment table for OO::hibernate is now: 7:6389ca4eac535728ac03577c0f06a463</div>

      META-INF/database/broker.changes.xml::create OO_BRANCH_CONTEXTS::engine is now: 7:cdcaae1028f4deba560bede80ef09fce</div>

      META-INF/database/broker.changes.xml::create OO_RUNNING_EXECUTION_PLANS::engine is now: 7:6fbb735ac3f58e8677c9182f896d74cd</div></div>

(and so on)

This is what we ran (please excuse the Groovy syntax):

ant.updateDatabase(

            url: dbProperties.getProperty("jdbc.url"),</div>

            driver: dbProperties.getProperty("jdbc.driver_class"),</div>

            username: dbProperties.getProperty("db.username"),</div>

            password: decryptedPass,</div>

            classpathref: "driver-classpath",</div>

            changelogfile: changesFile,</div>

            labels: "",</div>

            outputfile: outputFilePath);</div></div>

Again, if we run this without the “outputfile: outputFilePath” part, it works fine.

What gives?

Note that we don’t want to clear the existing checksums of Liquibase 2, because we do want the validation.

Thanks, Vova