Jump to content

Liquibase

From Alfawiki
Adapted from the English Wikipedia article Liquibase, available under CC BY-SA 4.0Updated 9 August 20252 sources
Liquibase
Company typePrivate
IndustrySoftware
Founded2006
FounderNathan Voxland
ProductsLiquibase Community, Liquibase Pro
Websitewww.liquibase.org

Liquibase is a open-source, database-agnostic tool designed to track, manage, and implement modifications to database schemas.[1]

Overview

Changes to the database schema are recorded in text-based files, which can be formatted as XML, YAML, JSON, or SQL. Each change entry is uniquely identified by a combination of an "id," "author," and the file name. To determine which changes must be applied, Liquibase keeps a log of executed updates within the database itself. This approach facilitates collaboration among multiple developers and supports branching workflows without depending on a database version identifier.

When a changelog file is run for the first time, Liquibase automatically generates the DatabaseChangeLog and DatabaseChangeLogLock tables.

Major functionality

The primary capabilities of Liquibase include:

  • More than 30 predefined database refactoring operations
  • Ability to extend functionality with custom change types
  • Bringing databases up to date with the latest schema version
  • Rolling back changes based on count, timestamp, or assigned "tag"
  • Generating SQL scripts for both updates and rollbacks for auditing purposes
  • Availability as a standalone IDE and as an Eclipse plugin
  • Use of "contexts" to selectively apply or exclude change sets
  • Producing database diff reports and automated changelog creation
  • Creating changelogs from existing database structures
  • Documentation generation for database modifications
  • Preconditions checks covering DBMS type, user credentials, and SQL conditions
  • Support for organizing changelogs across multiple files
  • Execution options include command line, Apache Ant, Apache Maven, servlet container, or integration with Spring Framework
  • Compatibility with 10 leading database platforms

Sample Liquibase changelog file

Liquibase changelogs may be authored using SQL, XML, JSON, or YAML formats.[2]

<syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <databaseChangeLog

       xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.3"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.3
       http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.3.xsd">
   <preConditions>
       <dbms type="oracle"/>
   </preConditions>
   <changeSet id="1" author="author1">
       <createTable tableName="persons">
           <column name="id" type="int" autoIncrement="true">
               <constraints primaryKey="true" nullable="false"/>
           </column>
           <column name="name" type="varchar(50)"/>
       </createTable>
   </changeSet>
   <changeSet id="2" author="author2" context="test">
       <insert tableName="persons">
           <column name="id" value="1"/>
           <column name="name" value="Test1"/>
       </insert>
       <insert tableName="persons">
           <column name="id" value="2"/>
           <column name="name" value="Test2"/>
       </insert>
   </changeSet>

</databaseChangeLog> </syntaxhighlight>

Major contributors

Nathan Voxland developed Liquibase and released it as an open source project in 2006.

Datical was established in 2012 to deliver enterprise-level support and tools for Liquibase, creating a commercial solution derived from the open source version, specifically designed for large organizations and those in regulated industries. The original open source software remained accessible under the Apache 2.0 license. In 2020, Datical rebranded itself as Liquibase, unifying the company identity with the open source initiative and launching a tiered product lineup: Liquibase Community (the open source edition) and Liquibase Pro, a commercial enterprise product built upon the open source core.

The company remains the leading maintainer and key contributor to the Liquibase open source ecosystem while providing commercial offerings and support services.

Related tools

  1. ↑ "Using Liquibase". quarkus.io. Retrieved 2025-06-05.
  2. ↑ "Changelog file formats". liquibase.org. Retrieved 2025-06-23.