Need validation of liquibase features

I am new to this forum.   I have the following needs,


a.  Detect changes in database (primarily MySQL) metadata, changes to table structures via addition/deletion of columns,  change in column definitions etc.

b.  Generate a change report

c.  Keep track of changes in an audit trail table

d.  Propagate changes to target schema

e.  Perform ancillary functions like changing ETL scripts that use this schema so they do not break.


By going thru some preliminary documentation,  it seems that most of these features are available out of the box such as those from a to d.   Extensions like feature (e) can be added using java.


I want the experts to validate that my understanding so far is correct and that all of these features can be implemented using the liquibase java api programatically.


Thank you for taking the time to read thru this lengthy post.

Yes, liquibase does all 5 things. Letter a is the diff support which exists in liquibase but isn’t the normal usage and so isn’t robust enough to catch all differences. The normal usage is to manually append to the changeLog file as you know of changes to make without doing an automated change detection. There is support for comparison (and generating changeSets based on the differences) but that should usually be reserved for a failsafe/sanity check and not normal development.


Nathan,  Thank you very much for the response.   This has been very useful.