Although Liquibase tries to provide a wide range of database refactorings, there are times you may want to create your own custom refactoring class.
To create your own custom refactoring, simply create a class that implements the liquibase.change.custom.CustomSqlChange or liquibase.change.custom.CustomTaskChange interface <customChange> tag in your change set.
If your change can be rolled back, implement the liquibase.change.custom.CustomSqlRollback interface as well.
For a sample custom change class, see liquibase.change.custom.ExampleCustomSqlChange in the test folder
Name | Description |
---|
<changeSet author="liquibase-docs" id="customChange-example">
<customChange class="com.example.CustomChange"/>
</changeSet>
changeSet:
id: customChange-example
author: liquibase-docs
changes:
- customChange:
class: com.example.CustomChange
{
"changeSet": {
"id": "customChange-example",
"author": "liquibase-docs",
"changes": [
{
"customChange": {
"class": "com.example.CustomChange"
}
}]
}
}
Database | Notes | Auto Rollback |
---|---|---|
DB2/LUW | Supported | No |
DB2/z | Supported | No |
Derby | Supported | No |
Firebird | Supported | No |
H2 | Supported | No |
HyperSQL | Supported | No |
INGRES | Supported | No |
Informix | Supported | No |
MariaDB | Supported | No |
MySQL | Supported | No |
Oracle | Supported | No |
PostgreSQL | Supported | No |
SQL Server | Supported | No |
SQLite | Supported | No |
Sybase | Supported | No |
Sybase Anywhere | Supported | No |