Liquibase SQL vs XML command changesets


The documentation does indicate the sql / sqlFile commands can be used if you want to manage schema / data changes in direct SQL however it doesn’t appear to indicate the advantages / disadvantages here. I was trying to consider this for our group and although they have a slight learning curve over native SQL it’s not that significant in most cases. I thought of the following advantages


You’ve identified many of the advantages of using the XML changelog format. Datical (a commercial extension to Liquibase) has standardized on XML formatted changelogs for many of the same reasons. As you guessed, by using the XML format you can do some very cool things with ‘rules’. We don’t use the technique you suggested, but instead build an in-memory model of the database schema and then use the drools rules engine to allow our customers to create rules expressing business requirements from the very simple to the extremely complex.

Steve Donie
Principal Software Engineer
Datical, Inc.