How to create a new (really strange) SQL dialect

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.