Track, version, and deploy database changes

Changelogs and tracking tables allow Liquibase to help teams track and version database changes and deploy changes.

  • Track and version database changes
    Developers know which changes have been deployed to the database and which changes have not yet been deployed.
  • Deploy changes
    Liquibase compares the changelog against the tracking table and only deploys changes that have not been deployed to the database.
liquibase tracking tabel

Easily author database changes

Liquibase makes it easy to define database changes in a format that’s familiar and comfortable to each user — SQL, XML, JSON, or YAML.

Liquibase uses changelogs to represent a changes to your database.

Learn how to author database changes with Liquibase.

--liquibase formatted sql 
--changeset nvoxland:create-test-table 
CREATE TABLE testTable(
  columnName1 VARCHAR (355) 
); 
--rollback DROP TABLE 
--rollback testTable

Deploy the same changes across multiple database types

Liquibase allows you to specify the database change you want using SQL or several different database-agnostic formats, including XML, YAML, and JSON. Developers can abstract the database code to make it extremely easy to push out changes to different database types. The abstract format options also offer more flexibility and many more features over a formatted SQL changelog.

changelog is applied to multiple database types

Powerful commands for database change management

Liquibase ships with more than 40 commands for managing database changes.

 

liquibase update
liquibase rollback
liquibase snapshot
liquibase diff
liquibase status

State and migration-based deployments

Choose state-based or migration-based deployments which, at their root, are about the source of truth. Define how you want the database to look at the end or write the database change scripts for ultimate flexibility and to ensure the performance of database changes.

state-and-migration-based-deployment