Need suggestion for best approach to deploy Liquibase on legacy product using RPM

I have an application that is currently deployed via RPM. I’m working on including database migration as part of this, and am trying to determine best approach that accomplishes the ability to deploy the same RPM in either a new system or existing one, and have all the appropriate changesets (including legacy schema generated via generateChangeLog) deployed as part of the RPM postinstall.

We have the generated changelog of the existing schema, and I understand how future work will proceed as new schema changes are introduced via changesets, but so far am having trouble closing my gap in understanding about how to use conditionals/contexts/changeLogSync in order to accomplish what I am trying to do.

I think ideally the RPM would do something like this pseudocode:

  1. check if legacy generated changelog file needs to be applied

  2. run normal update

I just don’t know if I would accomplish this by multiple command line invocations, or if there is a smarter way to organize my main changelog file. I don’t particularly like the idea of contexts, because then I need something outside of the RPM to tell it how to be executed as a certain context, when it would be more ideal to be able to drop anywhere.

Other than this, I gotta say this is a kickass tool and I can’t wait to have it deployed as part of our solution here.

Would appreciate any advice! Thanks!