segment

Liquibase brings automation, CI/CD, security, and compliance to database change management

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

 

Define database changes

Define database changes as changesets using SQL or several different database-agnostic formats, including XML, YAML, and JSON. Liquibase automatically generates database-specific SQL for you.

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

 

Update and manage the same schema across multiple database types

Developers can abstract the database code to push changes to different database types simultaneously. The abstract format options offer more flexibility and many more features over a formatted SQL changelog.

Learn More
changelog is applied to multiple database types
--liquibase formatted sql
--changeset <author name>:<a unique identifier for the SQL changeset>
<SQL statements go here>
<SQL statements go here>
--rollback <rollback SQL statements>
--rollback <rollback SQL statements>
--changeset <author name>:<another unique identifier>
<SQL statements go here>
<SQL statements go here>
--rollback <rollback SQL statements>
--rollback <rollback SQL statements>

Manage changesets in one place

Database changes are managed with one ledger called the changelog. Liquibase tracks which changesets have or have not been deployed in a corresponding tracking table.

Using a unique identification scheme (an ID and author, along with the name and path of the file) users can manage and reorder database changes and reduce developer conflicts and collisions.

Learn More
--liquibase formatted sql
--changeset <author name>:<a unique identifier for the SQL changeset>
<SQL statements go here>
<SQL statements go here>
--rollback <rollback SQL statements>
--rollback <rollback SQL statements>
--changeset <author name>:<another unique identifier>
<SQL statements go here>
<SQL statements go here>
--rollback <rollback SQL statements>
--rollback <rollback SQL statements>

Track, version, and deploy database changes

Changelogs and tracking tables help teams track and version database changes and deployments. Developers know which changes have been deployed to the database and which changes have not yet been deployed. Liquibase compares the changelog against the tracking table and only deploys changes that have not already been deployed to the database.

liquibase tracking table
Git flow

Define and deploy change management pipelines

Liquibase Flows use modular command files to quickly define, standardize, simplify, and govern your workflows in Liquibase Pro. Flow files are platform independent and can run in any of your CI/CD tools.

Learn More
Git flow

Pre-validate with quality checks

Increase deployment success rates and and uphold security best practices by automatically analyzing your changelogs to ensure they match your desired format and behavior.

Learn More
eliminate the wait
target icon

Rollbacks included

Liquibase’s open-source version allows users to undo changes you have made to your database, either automatically or via custom rollback SQL with the rollback command.

Liquibase Pro adds Targeted Rollbacks, which allow users to rollback a specific change or set of changes without rolling subsequent changes back, saving a lot of time and effort.

Learn More
target icon

Selectively deploy changes to different environments

If your use case requires selective deployment of changes, such as between test and production environments, the Liquibase changelog allows for the addition of labels and contexts ensuring that deployments are defined in one place and appropriate changes are delivered to each target database.

-- liquibase formatted sql changeLogID:123 

-- changeset nvoxland:example labels:v1 context:all 
create table "public"."customer_customer_demo" ("customer_id" CHAR not null, "customer_type_id" CHAR not null, constraint "pk_customer_customer_demo" primary key ("customer_id", "customer_type_")); 

-- changeset nvxoland:example2 labels:v1 context:all create table "public"."customers" ("customer_id" CHAR not null, "company_name" VARCHAR(40) not null, "contact_name" VARCHAR(30), "contact_title" VARCHAR(30), "address" VARCHAR(60), "postal_code" VARCHAR(10), constraint "pk_customers" primary key ("customer_id"));

 

capture logic icon

Work with stored logic

Liquibase Pro enables users to snapshot and work with stored logic. Snapshots allow you to get a static view of your database at a particular point in time and is useful for reporting and safeguarding your data by comparing databases (performing diffs) to find differences.

Learn More
capture logic icon

Monitor for out of process change

Liquibase Pro’s advanced snapshot functionality can capture known good database configuration and be used for Liquibase Pro comparisons via automation. Leverage drift reporting to quickly identify diffs and resolve them.

Learn More
dashboard icon

Observe change management performance

Automatically capture all events, as well as necessary custom fields, in your change management pipeline with structured logging. Track DevOps metrics to drive continuous improvement and create custom visualizations to track and optimize delivery performance.

Packager

Simplify compliance

Ensure consistent processes aligned with standards and best practices are in place and automate documentation to simplify audits. If a compliance event occurs, reduce time to remediation with structured logs to identify the source and roll it back.

Quality Checks
compliance icon