Hi,
As a background, we run liquibase in our development environments and for production/staging deployments use liquibase (ant task updateDatabase) to generate the SQLs and then run the SQLs manually on the environments.
When generating SQL scripts for tasks that have loadUpdateData, liquibase generates anyonymous blocks of PL/SQL which need a “/” at the end of every block to be able to execute it. The behaviour is the same when the scripts are generated in either of the following ways:
a) java -jar liquibase-2.0.3.jar updateSQL
b) ant task updateDatabase. The task looks as below:
<updateDatabase
changeLogFile=“changelog.xml”
driver="${jdbc.driverClassName}"
url="${jdbc.url}"
username="${jdbc.username}"
password="${jdbc.password}"
promptOnNonLocalDatabase=“false”
dropFirst=“false”
classpathref=“classpath.db”
outputFile=“tmp_db_migrate_output.sql”/>
The actual updates using liquibase (java -jar liquibase-2.0.3.jar update) seem to be fine, the problem is with the generated SQL scripts. When the missing ‘/’ are added after every block, the script works fine. I did read through the liquibase documentation and could not find a way of configuring this behaviour.
I am attaching a small package to reproduce the problem - readme.txt contains all the relevant instructions.
Am I missing something? Is there a workaround ? Do I need to log a defect in JIRA?
Thanks
P.S. >> Had to remove the the ojdbc and liquibase jars because of size restrictions, we are using liquibase v2.0.3 and ojdbc14-10.2.0.4.jar for connectivity.