The root of all Liquibase changes is the databaseChangeLog file.
Attribute | Description |
---|---|
logicalFilePath | Use to override the file name and path when creating the unique identifier of change sets. Required when moving or renaming change logs. |
objectQuotingStrategy | This controls how object names are quoted in the SQL generated or used in calls to the database. Different databases do different things to
the names of objects, for example Oracle converts everything to uppercase (unless quoted). There are three possible values. The default value is LEGACY .LEGACY - Same behavior as in Liquibase 2.0QUOTE_ALL_OBJECTS - Every object gets quoted. e.g. person becomes "person".QUOTE_ONLY_RESERVED_WORDS - Quote reserved keywords and invalid column names. |
Tag | Description |
---|---|
preConditions | Pre-conditions required to execute the change log. Read More |
property | Value to set property to, if not set by another means. Read More |
changeSet | The change sets to execute. Read More |
include | Additional files containing change sets to execute. Read More |
context | Context to be appended (using AND) to all changeSets since 3.5 |
When the Liquibase migrator runs, it parses the databaseChangeLog tag. It first checks any preconditions specified. If any of the preconditions fail, the Liquibase will exit with an error message explaining what failed. Preconditions are useful for both documenting and enforcing expectations and assumptions of the changelog writer such as the DBMS to be run against or the user the changes are run as.
If all preconditions are met, Liquibase will then begin running changeSet and include tags in the order they appear in the databaseChangeLog file.
The XML schema for the databaseChangeLog tag is available at:
Some legacy XSDs are listed on the XML Format page.
Each changeSet contains an “id” tag and an “author” tag. These tags, along with the classpath location and name of the XML file create a unique identifier for that changeSet.