Liquibase
1.0Schema URL
Properties
The root of all Liquibase changes is the changelog file. Liquibase uses a changelog to sequentially list all changes made to your database. Think of it as a ledger. It is a file that contains a record of all your database changes (changesets). Liquibase uses this changelog record to audit your database and execute any changes that are not yet applied to your database.
[]
Definitions
The name of the catalog
The name of the schema
The comments stored for the table/view/column
The name of the table
Allows to define the 'where' condition(s) string
Specifies logical expression of database type(s) on which the change must be applied. Valid database type names are listed on the supported databases page. It can be a comma-separated list of multiple databases or you can also specify that a change is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.
The name of the column.
The attribute which is used if the value in name isn't actually a column name but a function. Since 3.3.0
The boolean attribute which allows you to specify that a column should be used in a descending order in the index if it is used in a createIndex command. Default value is false (in an ascending order) Since 3.4
The column data type.
The value for which to set the column. The value will be surrounded by quote marks and nested quote marks will be escaped.
The numeric value to set the column to. The value will not be escaped and will not be nested in quote marks.
The boolean value to set the column to. The actual value string inserted will depend on the database implementation.
The date and time value to set the column to. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The value that is returned from a function or procedure call. This attribute will contain the function to call.
The name of the sequence in which the current value is used.
The name of the sequence in which the next value is used.
The path to a file, whose contents will be written as a BLOB (i.e. chunk of binary data).
The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The path to a file, whose contents will be written as a CLOB (i.e. chunk of character data). The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The default value for column.
The default numeric value for column.
The default date and time value for column. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The default boolean value for column.
The default value that is returned from a function or procedure call. This attribute will contain the function to call.
The auto-increment column. Ignored on databases that do not support the autoincrement/identity functionality.
The value auto-increment start. Ignored on databases that do not support autoincrement/identity functionality.
The value of each step by auto-increment. Ignored on databases that do not support autoincrement/identity functionality.
A short description of the column (column comment).
The name of the encoding (specified in java.nio.Charset javadoc, e.g. "UTF-8") of the CLOB file (specified in valueClobFile) contents.
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Uses one based index. Since 3.1
Name of the column in the CSV file from which the value for the column will be taken if its different from the column name. Ignored if index is also defined.
Index of the column in the CSV file from which the value for the column will be taken.
Constraint definitions
{}
21 nested properties
The attribute that defines whether the column is nullable.
The not null constraint name.
The attribute that defines whether the column is a primary key.
The primary key name Since 1.6.
The tablespace to use for the defined primary key.
The attribute that defines whether a unique clause should be applied.
The unique constraint name.
The foreign key definition.
The name of the catalog.
The name of the schema.
The name of the table.
The name of the column.
The foreign key name.
The attribute that sets delete cascade.
The attribute that defines whether constraints are deferrable.
The attribute that defines whether constraints are initially deferred.
The attribute that defines whether to validate the defined check constraint.
The attribute that defines whether to validate the defined not null constraint.
The attribute that defines whether to validate the defined unique constraint.
The attribute that defines whether to validate the defined primary key constraint.
The attribute that defines whether to validate the defined foreign key constraint.
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
Preconditions are changelog or changeset tags which control the execution of an update based on the state of the database.
You can typically use the createTable Change Type when you want to create a table in your changelog file and then deploy it to your database. It can include columns and another values listed in this documentation.
The name of the table
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
The name of the catalog
The name of the schema
The name of the tablespace in which the table is created
The comments stored for the table/view/column
Creates a new database view.
The name of the catalog
The name of the schema
Name of the view to create
The comments stored for the table/view/column
Use 'create or replace' syntax
Set to true if selectQuery is the entire view definition. False if the CREATE VIEW header should be added.
Path to file containing view definition
Encoding used in the file defined in the path attribute
Whether the file path relative to the root changelog file rather than to the classpath.
SQL for generating the view
It is useful for complex changes that aren't supported through Liquibase's automated Change Types and to work around bugs and limitations of Liquibase. The SQL contained in the
Specifies the SQL to execute
Set to true to remove any comments in the SQL before executing, otherwise false.
Set to false to not have Liquibase split statements on ;'s and GO's. Defaults to true if not set
Indicates the end of the SQL statement and prevents incomplete SQL statements from being processed when the SQL files contain statements referencing a ; which Liquibase treats as the default end delimiter. You can use the endDelimiter when the changeset contains SQL to create a stored procedure or function that contains the default ; end delimiter to separate the statements inside the procedure. For more information, see The endDelimiter SQL attribute.
Specifies logical expression of database type(s) on which the change must be applied. Valid database type names are listed on the supported databases page. It can be a comma-separated list of multiple databases or you can also specify that a change is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.
You can typically use the update Change Type when you want to update a table in your changelog file and then deploy this update to your database. It can include columns and another values listed in this documentation.
The name of the table
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
The name of the catalog
The name of the schema
Allows to define the 'where' condition(s) string
[]
The tagDatabase Change Type applies a tag to the database for future update or rollback.
The tag to apply
empty
You can typically use the insert Change Type when you want to add and deploy the specific data or values to the existing table in your database. It can include columns and another attributes listed in this documentation.
The name of the table
The name of the catalog
The name of the schema
Specifies logical expression of database type(s) on which the change must be applied. Valid database type names are listed on the supported databases page. It can be a comma-separated list of multiple databases or you can also specify that a change is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
You can typically use the addColumn Change Type when you want to add a new column and deploy it to the table in your database.
The name of the table
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
The name of the catalog
The name of the schema
The createProcedure Change Type defines the definition for a stored procedure. This Change Type is better to use for creating procedures than the raw SQL command because it will not attempt to strip comments or break up lines.
Often times it is best to use the CREATE OR REPLACE syntax along with setting runOnChange='true' on the enclosing changeset tag. That way if you need to make a change to your procedure, you can change your existing code rather than creating a new REPLACE PROCEDURE call. The advantage to this approach is that it keeps your changelog smaller and allows you to more easily see what has changed in your procedure code through your source control system's diff command.
The SQL creating the procedure. You need to define either this attribute or the path attribute. The procedureText attribute is not supported in the XML format; however, you can specify the procedure SQL within
The file containing the procedure text. Either this attribute or a nested procedure text is required.
The name of the catalog
The name of the schema
The name of the procedure. It is required if replaceIfExists= true
The encoding used in the file defined in the path attribute
Defines whether the file path is relative to the root changelog file rather than to the classpath.
Specifies logical expression of database type(s) on which the change must be applied. Valid database type names are listed on the supported databases page. It can be a comma-separated list of multiple databases or you can also specify that a change is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.
If the stored procedure defined by procedureName already exits, alter it instead of creating it.
The comments you can specify in the changeset.
The
Specifies the file path of the SQL file to load.
Set to true to remove any comments in the SQL before executing, otherwise false.
Set to false to not have Liquibase split statements on ;'s and GO's. Defaults to true if not set.
Specifies encoding used in the file defined in the path attribute.
Indicates the end of the SQL statement and prevents incomplete SQL statements from being processed when the SQL files contain statements referencing a ; which Liquibase treats as the default end delimiter. You can use the endDelimiter when the changeset contains SQL to create a stored procedure or function that contains the default ; end delimiter to separate the statements inside the procedure. For more information, see The endDelimiter SQL attribute.
Indicates whether the file path is relative to the root changelog file rather than to the classpath.
Specifies logical expression of database type(s) on which the change must be applied. Valid database type names are listed on the supported databases page. It can be a comma-separated list of multiple databases or you can also specify that a change is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.
Stops Liquibase execution with a message. Mainly useful for debugging and stepping through a changelog
Message to output when execution stops
Renames an existing column.
The name of the table
Name of the existing column to rename
Name to rename the column to
The name of the catalog
The name of the schema
Data type of the column
Remarks of the column
Drops an existing column(s).
To drop a single column, use the simple form of this element where the tableName and columnName are specified as attributes. To drop several columns, specify the tableName as an attribute, and then specify a set of nested
The name of the table
The name of the catalog
The name of the schema
Name of the column to drop, if dropping a single column. Ignored if nested 'column's are defined
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
The mergeColumns Change Type concatenates the values in two columns and joins them with a string. The Change Type stores the resulting value in a new column. You can typically use the mergeColumns Change Type when you want to combine the values from two columns into one.
The name of the table
The name of the column containing the first half of the data
The name of the column containing the second half of the data
The name of the column to create
The data type of the column to create
The name of the catalog
The name of the schema
The string to place between the values from column1 and column2 (may be empty)
Creates a new database sequence.
Name of the sequence to create
The name of the catalog
The name of the schema
The first sequence number to be generated.
Interval between sequence numbers
The maximum value of the sequence
The minimum value of the sequence
Does the sequence need to be guaranteed to be generated in the order of request?
Number of values to fetch per query
Data type of the sequence
Can the sequence cycle when it hits the max value?
Alters properties of an existing sequence.
Name of the sequence to alter
The name of the catalog
The name of the schema
New amount the sequence should increment by
New maximum value for the sequence
New minimum value for the sequence
Does the sequence need to be guaranteed to be generated in the order of request?
Change the cache size
Data type of the sequence
Can the sequence cycle when it hits the max value?
The createIndex Change Type creates an index on an existing column or a set of columns.
The name of the table
The name of the catalog
The name of the schema
The name of the index to create.
The unique values in the index.
The attribute that creates a clustered index.
The tablespace in which you create the index.
{}
34 nested properties
The name of the column.
The attribute which is used if the value in name isn't actually a column name but a function. Since 3.3.0
The boolean attribute which allows you to specify that a column should be used in a descending order in the index if it is used in a createIndex command. Default value is false (in an ascending order) Since 3.4
The column data type.
The value for which to set the column. The value will be surrounded by quote marks and nested quote marks will be escaped.
The numeric value to set the column to. The value will not be escaped and will not be nested in quote marks.
The boolean value to set the column to. The actual value string inserted will depend on the database implementation.
The date and time value to set the column to. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The value that is returned from a function or procedure call. This attribute will contain the function to call.
The name of the sequence in which the current value is used.
The name of the sequence in which the next value is used.
The path to a file, whose contents will be written as a BLOB (i.e. chunk of binary data).
The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The path to a file, whose contents will be written as a CLOB (i.e. chunk of character data). The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The default value for column.
The default numeric value for column.
The default date and time value for column. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The default boolean value for column.
The default value that is returned from a function or procedure call. This attribute will contain the function to call.
The auto-increment column. Ignored on databases that do not support the autoincrement/identity functionality.
The value auto-increment start. Ignored on databases that do not support autoincrement/identity functionality.
The value of each step by auto-increment. Ignored on databases that do not support autoincrement/identity functionality.
A short description of the column (column comment).
The name of the encoding (specified in java.nio.Charset javadoc, e.g. "UTF-8") of the CLOB file (specified in valueClobFile) contents.
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Uses one based index. Since 3.1
Name of the column in the CSV file from which the value for the column will be taken if its different from the column name. Ignored if index is also defined.
Index of the column in the CSV file from which the value for the column will be taken.
Constraint definitions
{}
21 nested properties
The attribute that defines whether the column is nullable.
The not null constraint name.
The attribute that defines whether the column is a primary key.
The primary key name Since 1.6.
The tablespace to use for the defined primary key.
The attribute that defines whether a unique clause should be applied.
The unique constraint name.
The foreign key definition.
The name of the catalog.
The name of the schema.
The name of the table.
The name of the column.
The foreign key name.
The attribute that sets delete cascade.
The attribute that defines whether constraints are deferrable.
The attribute that defines whether constraints are initially deferred.
The attribute that defines whether to validate the defined check constraint.
The attribute that defines whether to validate the defined not null constraint.
The attribute that defines whether to validate the defined unique constraint.
The attribute that defines whether to validate the defined primary key constraint.
The attribute that defines whether to validate the defined foreign key constraint.
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
The addNotNullConstraint Change Type adds a NOT NULL constraint to an existing table.
The name of the table
The name of the column for which to add the constraint.
The name of the catalog
The name of the schema
The value for which you can set all values that currently equal null in a column. If null values exist and if defaultNullValue is not set, the change will fail.
The current data type of the column.
The created constraint name (if database supports names for NOT NULL constraints).
The attribute which is true if the NOT NULL constraint has 'ENABLE VALIDATE' set, or which is false if the NOT NULL constrain has 'ENABLE NOVALIDATE' set.
Makes a column nullable.
The name of the table
Name of the column to drop the constraint from
The name of the catalog
The name of the schema
Current data type of the column
Name of the constraint to drop (if database supports names for NOT NULL constraints)
Adds a foreign key constraint to an existing column.
Name of the table containing the column to constraint
Name of column(s) to place the foreign key constraint on. Comma-separate if multiple
Name of the new foreign key constraint
Name of the table the foreign key points to
Column(s) the foreign key points to. Comma-separate if multiple
Catalog name of the base table
Schema name of the base table
Schema name of the referenced table
Schema name of the referenced table
Is the foreign key deferrable
Is the foreign key initially deferred
ON DELETE functionality. Possible values: 'CASCADE', 'SET NULL', 'SET DEFAULT', 'RESTRICT', 'NO ACTION'
ON UPDATE functionality. Possible values: 'CASCADE', 'SET NULL', 'SET DEFAULT', 'RESTRICT', 'NO ACTION'
Shall be true if the foreign key should 'ENABLE VALIDATE' set, or false if the foreign key should 'ENABLE NOVALIDATE' set.
Drops an existing foreign key.
Name of the table containing the column constrained by the foreign key
Name of the foreign key constraint to drop
Drops all foreign key constraints for a table.
Name of the table containing columns constrained by foreign keys
Catalog name of the table containing columns constrained by foreign keys
Schema name of the table containing columns constrained by foreign keys
Adds a primary key out of an existing column or set of columns.
The name of the table
Name of the column(s) to create the primary key on. Comma separated if multiple
The name of the catalog
The name of the schema
Name of primary key constraint
This is true if the primary key has 'ENABLE VALIDATE' set, or false if the primary key has 'ENABLE NOVALIDATE' set.
Creates a lookup table containing values stored in a column and creates a foreign key to the new table.
Name of the table containing the data to extract
Name of the column in the new table to create
Name of lookup table to create
Name of the column in the new table to create
Data type of the new table column
Name of the foreign-key constraint to create between the existing table and the lookup table
Converts an existing column to be an auto-increment (a.k.a 'identity') column.
The name of the table
Name of the column
The name of the catalog
The name of the schema
When using generationType 'BY DEFAULT' then defaultOnNull = true allows the identity to be used if the identity column is referenced, but a value of NULL is specified.
Type of the generation in 'GENERATED %s AS IDENTITY'. ALWAYS | BY DEFAULT
Current data type of the column to make auto-increment
Initial integer value of the increment
Integer value the increment increments at each call
The addDefaultValue Change Type adds a default value to the database definition for the specified column.
The name of the table
The name of the column for which to add a default value.
The name of the catalog
The name of the schema
The current data type of the column for which to add a default value.
The default value. Either this property or one of the other defaultValue* properties are required.
The attribute that sets the default value for a column of a numeric type. For example: integer, bigint, bigdecimal, and others.
The attribute that sets the default value for a column of a date type. For example: timestamp, datetime, date, and others.
The attribute that sets the default value for a column of a boolean type.
The attribute that sets the default value for a column using a function which returns value of the same type as the column has.
The attribute that sets value for a specified column by using the value of the existing sequence. With every new input, the next value of the sequence will be taken.
The attribute that sets a unique name for default constraint used for a specific column. It works only along with any of defaultValue* attributes listed.
Adds a unique constraint to an existing column or set of columns.
The name of the table
Name of the column(s) to create the unique constraint on. Comma separated if multiple
The name of the catalog
The name of the schema
Name of the unique constraint
'Tablespace' to create the index in. Corresponds to file group in mssql
True if this constraint is disabled, False otherwise
True if this constraint is deferrable, False otherwise
True if this constraint is initially deferred, False otherwise
Whether create a clustered index
Should be true if the unique constraint shall 'ENABLE VALIDATE' set, or false if the 'ENABLE NOVALIDATE' shall.
The customChange type creates a custom Change Type class.
Loads data from a CSV file into an existing table when you add it to your changelog.
The name of the table
CSV file to load.
The name of the catalog
The name of the schema
Whether the file path relative to the root changelog file rather than to the classpath.
Use prepared statements instead of insert statement strings if the database supports it.
Encoding of the CSV file (defaults to UTF-8).
Character separating the fields.
The quote character for string fields containing the separator character.
Lines starting with this are treated as comment and ignored.
{}
34 nested properties
The name of the column.
The attribute which is used if the value in name isn't actually a column name but a function. Since 3.3.0
The boolean attribute which allows you to specify that a column should be used in a descending order in the index if it is used in a createIndex command. Default value is false (in an ascending order) Since 3.4
The column data type.
The value for which to set the column. The value will be surrounded by quote marks and nested quote marks will be escaped.
The numeric value to set the column to. The value will not be escaped and will not be nested in quote marks.
The boolean value to set the column to. The actual value string inserted will depend on the database implementation.
The date and time value to set the column to. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The value that is returned from a function or procedure call. This attribute will contain the function to call.
The name of the sequence in which the current value is used.
The name of the sequence in which the next value is used.
The path to a file, whose contents will be written as a BLOB (i.e. chunk of binary data).
The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The path to a file, whose contents will be written as a CLOB (i.e. chunk of character data). The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The default value for column.
The default numeric value for column.
The default date and time value for column. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The default boolean value for column.
The default value that is returned from a function or procedure call. This attribute will contain the function to call.
The auto-increment column. Ignored on databases that do not support the autoincrement/identity functionality.
The value auto-increment start. Ignored on databases that do not support autoincrement/identity functionality.
The value of each step by auto-increment. Ignored on databases that do not support autoincrement/identity functionality.
A short description of the column (column comment).
The name of the encoding (specified in java.nio.Charset javadoc, e.g. "UTF-8") of the CLOB file (specified in valueClobFile) contents.
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Uses one based index. Since 3.1
Name of the column in the CSV file from which the value for the column will be taken if its different from the column name. Ignored if index is also defined.
Index of the column in the CSV file from which the value for the column will be taken.
Constraint definitions
{}
21 nested properties
The attribute that defines whether the column is nullable.
The not null constraint name.
The attribute that defines whether the column is a primary key.
The primary key name Since 1.6.
The tablespace to use for the defined primary key.
The attribute that defines whether a unique clause should be applied.
The unique constraint name.
The foreign key definition.
The name of the catalog.
The name of the schema.
The name of the table.
The name of the column.
The foreign key name.
The attribute that sets delete cascade.
The attribute that defines whether constraints are deferrable.
The attribute that defines whether constraints are initially deferred.
The attribute that defines whether to validate the defined check constraint.
The attribute that defines whether to validate the defined not null constraint.
The attribute that defines whether to validate the defined unique constraint.
The attribute that defines whether to validate the defined primary key constraint.
The attribute that defines whether to validate the defined foreign key constraint.
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
Loads or updates data from a CSV file into an existing table. Differs from loadData by issuing a SQL batch that checks for the existence of a record. If found, the record is UPDATEd, else the record is INSERTed. Also, generates DELETE statements for a rollback.
A value of NULL in a cell will be converted to a database NULL rather than the string 'NULL'
The name of the table
CSV file to load
Comma delimited list of the columns for the primary key
The name of the catalog
Lines starting with this are treated as comment and ignored.
The name of the schema
Whether the file path relative to the root changelog file rather than to the classpath.
Encoding of the CSV file (defaults to UTF-8)
If true, records with no matching database record should be ignored
Character separating the fields.
The quote character for string fields containing the separator character.
Use prepared statements instead of insert statement strings if the DB supports it.
{}
34 nested properties
The name of the column.
The attribute which is used if the value in name isn't actually a column name but a function. Since 3.3.0
The boolean attribute which allows you to specify that a column should be used in a descending order in the index if it is used in a createIndex command. Default value is false (in an ascending order) Since 3.4
The column data type.
The value for which to set the column. The value will be surrounded by quote marks and nested quote marks will be escaped.
The numeric value to set the column to. The value will not be escaped and will not be nested in quote marks.
The boolean value to set the column to. The actual value string inserted will depend on the database implementation.
The date and time value to set the column to. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The value that is returned from a function or procedure call. This attribute will contain the function to call.
The name of the sequence in which the current value is used.
The name of the sequence in which the next value is used.
The path to a file, whose contents will be written as a BLOB (i.e. chunk of binary data).
The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The path to a file, whose contents will be written as a CLOB (i.e. chunk of character data). The path to the changelog file location must be either absolute or relative. An example of an absolute path is: /usr/local/somefile.dat on Unix or c:\Directory\somefile.dat on Windows.
The default value for column.
The default numeric value for column.
The default date and time value for column. The value is specified in one of the following forms: YYYY-MM-DD, hh:mm:ss, or YYYY-MM-DDThh:mm:ss.
The default boolean value for column.
The default value that is returned from a function or procedure call. This attribute will contain the function to call.
The auto-increment column. Ignored on databases that do not support the autoincrement/identity functionality.
The value auto-increment start. Ignored on databases that do not support autoincrement/identity functionality.
The value of each step by auto-increment. Ignored on databases that do not support autoincrement/identity functionality.
A short description of the column (column comment).
The name of the encoding (specified in java.nio.Charset javadoc, e.g. "UTF-8") of the CLOB file (specified in valueClobFile) contents.
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Since 3.1
The attribute that allows you to control where in the table column order the new column goes if it is used in an addColumn command. Only one of beforeColumn, afterColumn, or position is allowed. Uses one based index. Since 3.1
Name of the column in the CSV file from which the value for the column will be taken if its different from the column name. Ignored if index is also defined.
Index of the column in the CSV file from which the value for the column will be taken.
Constraint definitions
{}
21 nested properties
The attribute that defines whether the column is nullable.
The not null constraint name.
The attribute that defines whether the column is a primary key.
The primary key name Since 1.6.
The tablespace to use for the defined primary key.
The attribute that defines whether a unique clause should be applied.
The unique constraint name.
The foreign key definition.
The name of the catalog.
The name of the schema.
The name of the table.
The name of the column.
The foreign key name.
The attribute that sets delete cascade.
The attribute that defines whether constraints are deferrable.
The attribute that defines whether constraints are initially deferred.
The attribute that defines whether to validate the defined check constraint.
The attribute that defines whether to validate the defined not null constraint.
The attribute that defines whether to validate the defined unique constraint.
The attribute that defines whether to validate the defined primary key constraint.
The attribute that defines whether to validate the defined foreign key constraint.
The column constraint and foreign key information. Setting the defaultValue attribute will specify a default value for the column. Setting the value attribute will set all rows existing to the specified value without modifying the column default.
See Information about the
[]
The executeCommand Change Type executes a system command.
The name of the executable to run
The list of operating systems on which to execute the command (taken from the os.name Java system property)
The timeout value for executable to run
Arguments for the executable
{}
1 nested properties
The value of the attribute (for example: '-param')
Arguments for the executable
Logs a message and continues execution.
Message to output
Target for message. Possible values: STDOUT, STDERR, FATAL, WARN, INFO, DEBUG. Default value: STDERR
Although Liquibase supports most standard SQL statements with its Change Types, there are times when you need the generated SQL to be different. The following examples show how to change data types or add additional vendor-specific clauses such as ENGINE INNODB to CREATE TABLE statements. Since 1.9
Specifies logical expression of database type(s) on which the change must be applied. Valid database type names are listed on the supported databases page. It can be a comma-separated list of multiple databases or you can also specify that a change is not applicable to a particular database type by prefixing with !. The keywords all and none are also available.
Specifies the list of Contexts in which to run the SQL modification. If you do not specify any context, every changeset will be applied. Since 2.0
Defines whether the SQL modification should be applied to rollback statements. The default value is false. Since 2.0
Adds SQL to the beginning of the statement.
{}
1 nested properties
Adds SQL to the end of the statement.
{}
1 nested properties
Replaces all instances of the text specified.
{}
2 nested properties
Replaces all instances of the regular expression specified.
{}