Skip to content

Extensions Overview

Nathan Voxland edited this page Jan 2, 2023 · 1 revision

Liquibase Extensions

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

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 Capabilities page. Extension Guides also includes a list of code samples and guides that illustrate various Extension API usage.

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:

  • 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.

Looking for help?

If you have questions for extension development, try asking on: