Liquibase

Liquibase
Informations
Dernière version 5.0.4 ()Voir et modifier les données sur Wikidata
Dépôt github.com/liquibase/liquibaseVoir et modifier les données sur Wikidata
Écrit en JavaVoir et modifier les données sur Wikidata
Environnement Linux, Mac, Windows
Type Développement de logicielVoir et modifier les données sur Wikidata
Licence Licence Apache 2.0Voir et modifier les données sur Wikidata
Site web www.liquibase.orgVoir et modifier les données sur Wikidata

Liquibase est une bibliothèque indépendante des SGBD permettant de suivre, gérer et appliquer des modifications aux schémas des bases de données. Elle est désormais publiée sous la licence Functional Source License qui n'est pas open source. Elle a été lancée en 2006 pour faciliter le suivi des modifications de bases de données, en particulier dans un environnement de développement logiciel agile.

Présentation

Toutes les modifications appliquées à une base de données sont sauvegardées au sein de fichiers texte (XML, YAML, JSON ou SQL) et identifiées par la combinaison d'un identifiant et d'un auteur ainsi que du nom de fichier en lui-même. Une liste de tous ces changements est stockée au sein de chaque base de données et consultée au besoin pour chacun des nouvelles modifications afin de déterminer les modifications à apporter.

Par conséquent, il n'existe pas de concept de versionnage de base de données. Cette approche permet cependant de travailler dans des environnements dans lesquels évoluent plusieurs développeurs.

Liquibase crée automatiquement les tables DatabaseChangeLog et DatabaseChangeLogLock à la première exécution d'un fichier changeLog.

Fonctionnalités principales

Exemple d'un journal de modifications Liquibase

Note: bien que ce fichier exemple de journal de modifications soit en XML, liquibase permet également d'utiliser les formats SQL, JSON ou YAML.

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

Principaux contributeurs

Liquibase a été créé à l'origine en 2006 par Nathan Voxland qui l'a publié en Open source.

En 2012, une compagnie appelée Datical a été fondée pour fournir un support aux entreprises et des outils pour Liquibase. Datical a développé un produit commercial basé sur la version Open source de Liquibase adapté aux entreprises de grande taille et aux régulations auxquelles elles sont soumises. Le projet est resté librement accessible sous licence Apache 2.0. En 2020, Datical a changé de nom pour s'aligner sur celui du projet Open source Liquibase et a introduit un nouveau modèle économique incluant la version communautaire de Liquibase, l'édition Open source ainsi que Liquibase Secure, un produit commercial destiné aux entreprises bâti sur les fondations de l'open source.

Bien que la compagnie offre des outils et des services commerciaux, elle demeure le principal mainteneur et contributeur du projet Open source Liquibase.

Outils similaires

Références

  1. ↑ « Release 5.0.4 », (consulté le )
  2. ↑ (en) « Supported databases », sur www.liquibase.com (consulté le )
  3. ↑ (en) « Changelog file formats », sur docs.liquibase.com (consulté le )

Liens externes