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
META-INF/database/changes.xml::Manually create the hibernate
auto-increment table for OO::hibernate is now: 7:6389ca4eac535728ac03577c0f06a463
META-INF/database/broker.changes.xml::create
OO_BRANCH_CONTEXTS::engine is now: 7:cdcaae1028f4deba560bede80ef09fce
META-INF/database/broker.changes.xml::create
OO_RUNNING_EXECUTION_PLANS::engine is now: 7:6fbb735ac3f58e8677c9182f896d74cd
(and so on)
This is what we ran (please excuse the Groovy syntax):
ant.updateDatabase(
url: dbProperties.getProperty("jdbc.url"),
driver: dbProperties.getProperty("jdbc.driver_class"),
username: dbProperties.getProperty("db.username"),
password: decryptedPass,
classpathref: "driver-classpath",
changelogfile: changesFile,
labels: "",
outputfile: outputFilePath);
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