Liquibase is built with extensibility in mind. From generic changelog file handling to database-specific logic, almost every part of Liquibase can be customized and enhanced through the extension system. In fact, all standard functionality that ships as part of Liquibase is built using the same extension system.
What can extensions do?
Here are some examples of what you can achieve through extensions:
- Modify behavior for specific databases
- Create custom change types and preconditions
- Create new commands or enhance existing commands with new logic
If you'd like to have a more comprehensive overview of the Extension API, refer to the Extension Guides for code samples and guides that illustrate various Extension API usage.
If you are looking to build Liquibase into something rather than building onto Liquibase, see the integrations documentation
What extensions are there?
You can find a list of available extensions in the Extension Directory.
How to build extensions?
Building a good extension can take a lot of time and effort. Here is what each section of the API docs can help you with:
- Your First Extension teaches fundamental concepts for building extensions with the Hello World sample.
- Extension Anatomy describes how extension code works together.
- Dev Environment Setup helps you set up your local environment for development work.
- Extension Guides include guides and code samples that explain specific usages of the API.
- Best Practices showcases best practices for providing a great user experience with your extension.
Looking for help?
If you have questions about extension development, try asking on:
- Liquibase Forum Great place to ask questions, discuss, and help other members of the community.
- Liquibase Discord For real-time questions and discussion
Created: January 5, 2023