I find myself in a situation where I want to track some process information about changelogs in the changelog files. Our release cycle includes risk and duration assessments, where we notify our deployment team of (a) how likely something is to go wrong with a given change and (b) how long we expect the change to take. Right now we’re tracking this in a separate checklist that has a 1:1 mapping to liquibase changelog files:
, which would allow completely arbitrary metadata (so long as it’s correctly namespace-qualified).
So the questions I have are:
- Is it reasonable to store this kind of metadata within the changelog files like this?
- And if not, what's a decent alternative?
Is this a reasonable way to implement it? If I wrote a patch for the XSD to allow any namespace-qualified attribute in the appropriate places, would it be accepted?
I’ve carefully left out the question of formatted-SQL changelogs; it’s much easier to extend the format for those since liquibase totally ignores comments it doesn’t understand.