Translations of this page?:

Liquibase Quick-Start

Schritt 1: Changelog File anlegen

In der Datei Database-Change-Log werden alle Datenbank-Änderungen aufgelistet. Sie basiert auf XML, also beginnen wir mit einer leeren XML-Datei:

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

Schritt 2: changeSet hinzufügen

Jedes Change-Set wird eindeutig identifiziert durch die Attribute „id“ und „author“. Diese beiden Tags sowie der Name und das Package der changelog-Datei identifizieren die Änderung eindeutig. Wenn nur die „id“ spezifiziert werden müsste, wäre es zu einfach sie versehentlich zu duplizieren - vor allem, wenn Sie es mit vielen EntwicklerInnen und Code-Branches zu tun haben. Das „author“-Attribut einzubeziehen, minimiert das Risiko von Duplikaten.

Betrachten Sie jedes Change-Set als eine atomare Änderung, die Sie an Ihrer Datenbank vornehmen wollen. Normalerweise ist es am besten, nur eine einzige Änderung in ein Change-Set aufzunehmen. Es ist aber möglich, mehrere Änderungen einzuschließen, und das kann auch sinnvoll sein, wenn Sie mehrere Reihen einfügen wollen, die als eine einzige Transaction hinzugefügt werden sollen. Liquibase wird versuchen, jedes Change-Set als eine Transaction auszuführen, aber viele Datenbanken werden intern für bestimmte Kommandos (create table, drop table etc.) eigene Transaktionen starten.

<?xml version="1.0" encoding="UTF-8"?>
 
<databaseChangeLog
  xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
         http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.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>

Schritt 3: changeSet ausführen

Es gibt verschiedene Wege, das Change-Log-File auszuführen, z.B. über die Kommandozeile, mit Ant, Maven, Grails oder einem Servlet-Listener.

Hier ein Beispiel für MySQL über JDBC:

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

Es werden sehr viel mehr Datenbanken von Liquibase unterstützt. Eine Liste aller unterstützten Datenbanken mit dem jeweils benötigten JDBC-Treiber, URL, Classpath usw. findet sich unter Datenbanken.

Schritt 4: Datenbank überprüfen

Sie werden sehen, dass Ihre Datenbank jetzt eine Tabelle namens „department“ enthält. Zwei weitere Tabellen wurden erzeugt: „databasechangelog“ und „databasechangeloglock“. Die erste enthält eine Liste aller Statements die auf der Datenbank ausgeführt wurden. Die zweite Tabelle wird benutzt, um zu garantieren, dass nicht zwei Rechner gleichzeitig versuchen, die Datenbank zu verändern.

Die nächsten Schritte

Dieser Quick-Start-Guide soll Ihnen beim Einstieg in Liquibase helfen. Eine vollständige Beschreibung aller Einsatzmöglichkeiten finden Sie im Liquibase-Manual. Lesen Sie unbedingt den Abschnitt "Best practices". Ein ausführliches Szenario findet sich im Tutorial "Using Oracle".

Sie können sich auch aufgezeichnete Sessions mit Liquibase ansehen oder die Foren besuchen.

Receive Liquibase Announcements
* indicates required
 
de/quickstart.txt · Zuletzt geändert: 2011/11/08 04:04 von 85.16.70.86