Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a250a54d19beb23b

Jump to content

// Workers AI · dad joke modeWhat did Liquibase say to its database? "You're in a fluid relationship

From Wikipedia, the free encyclopedia
(Redirected from LiquiBase)
Liquibase
DeveloperNathan Voxland
Stable release
4.25.0 / November 13, 2023; 2 years ago (2023-11-13)[1]
Written inJava
Operating systemCross-platform
TypeSoftware development
LicenseFunctional Source License, Freemium
Websitewww.liquibase.org
Repositorygithub.com/liquibase/liquibase

Liquibase is a database-independent library for tracking, managing and applying database schema changes.[2] It is released under the non open-source Functional Source License.

Overview

[edit]

All changes to the database are stored in text files (XML, YAML, JSON or SQL) and identified by a combination of an "id" and "author" tag as well as the name of the file itself. A list of all applied changes is stored in each database which is consulted on all database updates to determine what new changes need to be applied. As a result, there is no database version number but this approach allows it to work in environments with multiple developers and code branches.

Liquibase automatically creates DatabaseChangeLog Table and DatabaseChangeLogLock Table when you first execute a changeLog File.

Major functionality

[edit]

The following is a list of major features:

  • Over 30 built-in database refactorings
  • Extensibility to create custom changes
  • Update database to current version
  • Rollback last X changes to database
  • Rollback database changes to particular date/time
  • Rollback database to "tag"
  • SQL for Database Updates and Rollbacks can be saved for manual review
  • Stand-alone IDE and Eclipse plug-in
  • "Contexts" for including/excluding change sets to execute
  • Database diff report
  • Database diff changelog generation
  • Ability to create changelog to generate an existing database
  • Database change documentation generation
  • DBMS Check, user check, and SQL check preconditions
  • Ability to split change log into multiple files for easier management
  • Executable via command line, Apache Ant, Apache Maven, servlet container, or Spring Framework.
  • Support for 10 database systems

Sample Liquibase changelog file

[edit]

Note: while this sample is of an XML changelog, liquibase changelogs can be SQL, XML, JSON or YAML.[3]

<?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>

Major contributors

[edit]

Liquibase was originally created and open sourced in 2006 by Nathan Voxland.

In 2012, a company called Datical was founded to provide enterprise support and tooling for Liquibase. Datical developed a commercial product based on Liquibase OSS, tailored for large scale and regulated enterprise environments. The open source project remained freely available under the Apache 2.0 license. In 2020, Datical rebranded as Liquibase, aligning the company name with the open source project and introducing a tiered product model that included Liquibase Community, the open source edition, and Liquibase Secure, an enterprise grade commercial product built on the open source foundation.

While the company offers commercial tools and services, it remains the primary maintainer and contributor to the open source Liquibase project.

[edit]

References

[edit]
  1. "Liquibase Downloads". liquibase.com. Liquibase. Retrieved 2023-12-06.
  2. "Using Liquibase". quarkus.io. Retrieved 2025-06-05.
  3. "Changelog file formats". liquibase.org. Retrieved 2025-06-23.
[edit]