Traductions de cette page?:

Guide de démarrage rapide Liquibase

Etape 1: Créer un fichier de changelog:

Le fichier de changelog de la base de données contient toutes les altérations à effectuer. Il s'agit d'un fichier XML, començons avec un fichier vide:

<?xml version="1.0" encoding="UTF-8"?>
 
<databaseChangeLog
  xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9
         http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
 
</databaseChangeLog>

Etape 2: Ajouter un ensemble de modifications (changesets)

Chaque ensemble de modifications est identifié de manière unique avec un attribut id et un attribut auteur (author). Ces deux balises, avec le nom et le paquetage du fichier de changelog permettent de différencier chaque changement. S'il était obrigatoire de renseigner seulement l'attribut id, il serait facile d'avoir des entrées dupliquées, en particulier en travaillant avec plusieurs développeurs et branches. En ajoutant un attribut auteur les chances de dupliquer une entrée sont moindres. On peut imaginer que chaque ensemble de modifications est un changement atomique que vous voulez appliquer à votre base de données. Il est en général meilleur d'introduire une seule modification par changeset, mais il est permis d'en ajouter plusieurs et cela peut être utile si vous avez à insérer de nombreuses lignes en une seule transaction. Mais certains moteurs de base de données vont ouvrir et fermer des transactions lors de l'exécution de certaines commandes (create table, drop table, etc.)

<?xml version="1.0" encoding="UTF-8"?>
 
<databaseChangeLog
  xmlns="http://www.liquibase.org/xml/ns/dbchangelog/1.9"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog/1.9
         http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-1.9.xsd">
 
    <changeSet id="1" author="bob">
        <createTable tableName="department">
            <column name="id" type="int">
                <constraints primaryKey="true" nullable="false"/>
            </column>
            <column name="name" type="varchar(50)">
                <constraints nullable="false"/>
            </column>
            <column name="active" type="boolean" defaultValueBoolean="true"/>
        </createTable>
    </changeSet>
 
</databaseChangeLog>

Etape 3: Effectuer les modifications

Il existe plusieurs manières d'exécuter les modifications contenues dans le changelog via la ligne de commande,Ant, Maven, Grails, ou un servlet listener.

liquibase --driver=com.mysql.jdbc.Driver \
     --classpath=/path/to/classes \
     --changeLogFile=com/example/db.changelog.xml \
     --url="jdbc:mysql://localhost/example" \
     --username=user \
     --password=asdf \
     migrate

Etape 4: Vérifier la base de données

En examinant la base de données vous verrez qu'elle contient maintenant une table “department”. Deux autres tables ont également été créées: “databasechangelog” et “databasechangeloglock”. La table “databasechangeloglock” sert à éviter que deux machines n'essayent de modifier la base de données en même temps.

Prochaines étapes

Ce guide de démarrage rapide est fait pour vous initier à Liquibase. Pour une description complète de toutes ses possibilités, veuillez consulter le manuel de Liquibase. Lisez aussi le guide des bonnes pratiques. Pour un scénario complet consultez le tutorial Oracle.

Vous pouvez aussi visualiser des vidéos sur Liquibase ou visiter la liste de diffusion.

Receive Liquibase Announcements
* indicates required
 
fr/quickstart.txt · Dernière modification: 2011/03/10 10:15 par cedric.lamalle