-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Extensions Overview
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.
This documentation describes:
- How to build, run, debug, test, and publish an extension
- How to take advantage of Liquibase's extension API
- Where to find guides to help get you started
- Our best practices for writing extensions
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 Capabilities page. Extension Guides also includes a list of code samples and guides that illustrate various Extension API usage.
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:
- Get Started teaches fundamental concepts for building extensions with the Hello World sample.
- Extension Capabilities dissects Liquibase's overall API into smaller categories and points you to more detailed topics.
- Extension Guides includes guides and code samples that explain specific usages of the API.
- UX Guidelines showcases best practices for providing a great user experience with your extension.
If you have questions for 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
Talk to us on the Liquibase Forum, Liquibase Discord, or
clone it at https://github.com/liquibase/liquibase.wiki.git
and create an issue with a patch file.