This release includes a significant update to DB Migrator. The SQL Parser has been almost completely rewritten. It therefore has fewer weaknesses and behaves more like other SQL tools. In addition, underscores and periods are allowed in the script sequence prefix.
- The "custom migration" functionality, where you specify via property which scripts should be run, has changed. Those db.scriptsToMigrate and db.scriptsToReverse properties are obsolete. Please review the reference documentation before attempting a custom migration.
- Single quotes in comments are no longer problematic
- Comments are now acceptable after a terminating semi-colon
- Create or replace package... or other pl/sql type object can now span multiple lines and the type will be detected properly
- The version prefix of the script name can now have a decimal and/or multiple under scores. Please see the reference documentation for more details.
- Please check your scripts for the --@unparsed_statement annotation (and the end tag) to determine if it is still required considering the new parser functionality.
- The docs have always incorrectly indicated that variable substitution was not performed on unparsed statements. Now DB Migrator will not perform variable substitution unless you indicate otherwise (see reference doc.)
- Terminating a regular SQL statement with a forward slash was previously allowed. Consistent with other tools it is no longer allowed. A forward slash can only terminate a PL/SQL type statement.
- Exec statements are now ignored instead of causing an error. Use the call statement or an anonymous block if you need this functionality.
- The drop script is now more complete and includes materialized views, scheduled jobs, operators, java objects, dimensions, clusters, and indextype
- The drop script can be configured to ignore materialized views, queues, scheduled jobs, and java objects. Please see the reference documentation for more information.
- A white list and black list feature was added to prevent the drop or remigrate goals from being executed in production environments. This feature is off by default.
This release is recommended for all projects but especially if you are experiencing any of the issues listed above. To upgrade, follow the "preferred" method in these instructions. Contact a member of the Java Stack team if you need assistance.
DB Migrator reference docs are here.
Java Stack upgrade notes are here.