Some strange policy requires us developers to not hand of sql-scripts but written documentation about the changes we want to happen to our production database. (Don’t laugh. This is no joke and not funny either).
I have this idea that if we manage all our database changes with liquibase we could implement a custom sql dialect so we can output a sql script that doesn’t really look like a sql script but instead like:
table: MyTable
add column: newColumn; type: char; length: 10
add index: newIndex; unique:true; columns: oldColumn, newColumn
or something like that.
My question is: how would I do that? I looked at https://liquibase.jira.com/wiki/display/CONTRIB/Database but this seems the wrong extension point, since the database will be a standard one (H2 or DB2), but the ‘sql’ generated should get mangled.