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--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.
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 MorePre-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 MoreRollbacks 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 MoreSelectively 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"));
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 MoreMonitor 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 MoreObserve 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.
PackagerSimplify 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