Upgrading production databases with incompatible MD5 algorithm

Hi,

My question is regarding release 4.23.0 where the md5 algorithm was updated to v9. The changelog states:

“This release is backwards compatible with v8 checksums (found in 3.5 to 4.21.1 releases)”

We have some clients in production using older MD5 versions (pre-3.5). I’m seeking advice on the best approach to upgrade these clients to v9. I understand that the validation will fail due to incompatible checksums.

Current Approach

I was considering running clearCheckSums to allow Liquibase to recalculate the checksums.

Questions

  • Is this the correct approach?
  • Are there any alternative approaches you would recommend?
  • Can you offer any general advice to avoid issues while performing this migration?

Any insights would be greatly appreciated, especially regarding the safety and best practices for using clearCheckSums in a production environment.

Thank you in advance for your help!

Hi @ryanmccauley211,

Are you looking for an approach to just update MD5 version but keep using Liquibase 4.23, or do you want to help your clients to make both updates MD5 to v9 and Liquibase to v4.29.1 (latest)?

Thanks,
Daniel.

If you update Liquibase, just running update command will upgrade checksum for them successfully.

You could update the change logs to include the original check sums
something along the lines of…

> <changeSet id="1" author="example">
>    <validCheckSum>80425fe377b00d81df722d604</validCheckSum>
> </changeSet>

Thank you all for your responses. We want to be able to use the latest version of liquibase. Simply using update won’t work as our older clients use v3 of the MD5 algorithm that is incompatible with v9.

The validCheckSum tag is one possibility we are aware of, but we have a lot of changesets so this approach could be quite long and error-prone. We are hoping to make it as easy as possible for clients to upgrade with a minimal amount of risk.