Liquibase Enterprise was formerly known as Datical DB.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

If you have provided a custom rollback script for a non-DDL SQL script, then you normally do the following:

  • Replace the original script: write a -replace script.
  • Edit its existing custom rollback script. 

A non-DDL script is one that is not packaged in the ddl directory. 

Do not use a -replace script for a rollback script (myscript-rollback-replace). Packaging fails with an error if a script using -rollback-replace is found.  

Rollback scripts are always repackaged. When you change them, the version is incremented. 

See also /wiki/spaces/DDOC59/pages/795673649

Example Scripts

The following scenarios start with an existing SQL script and a custom rollback script for it. 

  • myscript.sql
  • myscript-rollback.sql

Explicit Replacement of Both Files

You want to replace the existing script and modify its rollback behavior. Write a -replace script for the original script and update its custom rollback script. Package them in the same packaging run. 

  • myscript-replace.sql
  • myscript-rollback.sql

Implicit Usage of Existing Rollback Script

You want to replace the existing file but do not want to update its custom rollback script.  

  • myscript-replace.sql

In this case, myscript-rollback.sql is replaced and the rollback script is repackaged for use with the replacement script. Its version is incremented. 

Replacing Only a Rollback Script

You want to replace a rollback script. You can do this at any time, regardless of whether you are replacing the original script.

  • myscript-rollback.sql

In this case, edit myscript-rollback.sql in place. During the packaging run it is repackaged and its version is incremented. 

Cases Where Rollback Scripts Are Not Allowed

  • No labels