Liquibase

Liquibase
Developer(s) Nathan Voxland
Stable release
3.5.3 / October 13, 2016 (2016-10-13)[1]
Development status Active
Written in Java
Operating system Cross-platform
Type Software development
License Apache License 2.0
Website http://www.liquibase.org/

Liquibase is an open source database-independent library for tracking, managing and applying database schema changes. It was started in 2006 to allow easier tracking of database changes, especially in an agile software development environment.

Overview

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.

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

Major functionality

Commercial Version

Datical is both the largest contributor to the Liquibase project and the developer of Datical DB – a commercial product which provides the core Liquibase functionality plus additional features to remove complexity, simplify deployment and bridge the gap between development and operations. Datical DB was created to satisfy the Application Schema management requirements of large enterprises as they move from Continuous Integration to Continuous Delivery.[2]

Datical DB is used by DBAs, Release Managers, DevOps teams, Application Owners, Architects, and Developers involved in the Application Release process. It manages Database Schema changes together with application code in a programmatic fashion that eliminates errors and delays and enables rapid Agile releases. Datical DB builds upon the Liquibase Data Model Approach for managing data structure specific content across application versions as they advance from Development to Test to Production environments. Datical previews the impact of Schema changes in any environment before deployment thus mitigating risk and resulting in smoother and faster application changes.

Liquibase developer, Nathan Voxland, is an executive at Datical.

Sample Liquibase ChangeLog file

<?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="alice">
        <createTable tableName="news">
            <column name="id" type="int">
                <constraints primaryKey="true" nullable="false"/>
            </column>
            <column name="title" type="varchar(50)"/>
        </createTable>
    </changeSet>

    <changeSet id="12" author="bob">
        <createSequence sequenceName="seq_news"/>
    </changeSet>

    <changeSet id="2" author="cpa" context="test">
        <insert tableName="news">
            <column name="id" value="1"/>
            <column name="title" value="Liquibase 0.8 Released"/>
        </insert>
        <insert tableName="news">
            <column name="id" value="2"/>
            <column name="title" value="Liquibase 0.9 Released"/>
        </insert>
    </changeSet>
</databaseChangeLog>

Related tools

References

  1. "Liquibase Downloads". Liquibase. Retrieved 2016-11-11.
  2. "Datical". Datical. Retrieved 2014-12-03.
  3. "Datical integrations". Datical. Retrieved 2014-12-03.

External links

This article is issued from Wikipedia - version of the 11/11/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.