Just started playing with Liquibase extension (love the idea btw, thank you!) and noted a few things:
1. Documentation states "The DATABASECHANGELOG_EXPORT table is created internally to gather object details and sort them correctly. The created object is automatically excluded from the capture process and destroyed upon capture completion."
In my experience the table is not dropped after performing genschema. It is also included in further diff/capture which can be seen even in provided examples.
2. updatesql command always output schema name, no matter the provided {include schema} parameter value.
3. Main issue for me: upon trying to sync with changelogsync using succesfully generated changelog with genschema earlier I received following error:
Liquibase was unable to process the request at this time (generic error).
liquibase.exception.SetupException: Error Reading Migration File: Invalid byte 1 of 1-byte UTF-8 sequence.
After this changelogsync_controller.xml is created with 0 bytes and held open (no error handling?).
I believe this is caused by the fact the specified encoding of generated .xml files is UTF-8 (<?xml version="1.0" encoding="UTF-8"?>), but the actual captured code content is not.
I thought it respects my NLS_LANG setting, which by default is not UTF-8 (NLS_LANG=POLISH_POLAND.EE8MSWIN1250), but even changing it (show nls shows NLS_LANG POLISH_POLAND.AL32UTF8 and NLS_CHARACTERSET AL32UTF8) doesn't help.
Shouldn't it force UTF-8 output when it has such encoding fixed, or set it's definition correctly in files?
4. Example "Capture and Deploy a Schema and then Upgrade it and Redeploy" in documentation - it doesn't look right. Running twice genschema and then twice update on these full schema exports instead of generating diff changesets for the second time won't do any good....
5. While running update on generated changesets I encountered a lot of errors:
We were unable to process the request at this time (sql error).
ORA-06502: PL/SQL: numeric or value errorstring
LPX-00409: incorrect token encountered while parsing
ORA-06512: at "SYS.DBMS_METADATA", line 11160
ORA-06512: at line 22
Since there is no output of what changeset is being processed I don't know what they relate to (existing tables probably). Some output on what's going on (what changeset is being applied) would be helpful too.
6. There's DATABASECHANGELOG_ACTIONS table created on update action, which is not dropped and not documented. Is it needed/permanent?