SpringLiquibase

Logo von Liquibase

Eine weitere Alternative für das Aktualisieren der Datenbank liefert das Spring Framework direkt mit. Über die Klasse SpringLiquibase können die Änderungen an der Datenbank ausgeführt werden. Dies stellt somit eine gute Alternative zu dem Artikel „Handling von Datenbank-Updates“ dar.

Dazu wird in der Spring Configuration einfach eine neue Bean von der Klasse SpringLiquibase erstellt.

<bean id="liquibase" class="liquibase.integration.spring.SpringLiquibase">
  <property name="dataSource" ref="basicDataSource"/>
  <property name="changeLog" value="classpath:META-INF/liquibase/changelog.xml"/>
</bean>

Diese Bean erhält eine Referenz auf die DataSource, in der die Updates aufgeführt werden sollen. Dann wird noch der Ort des Changeslogs hinterlegt, aus dem die Updates angewendet werden können.

Es empfiehlt sich eine „Master-Datei“ für die Updates anzulegen und in dieser die einzelnen Update-Skripts zu referenzieren. Dies kann dann wie folgt aussehen:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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-3.4.xsd">

    <include file="classpath:META-INF/liquibase/changesets/0.0.1_create_tables.xml"/>
    <include file="classpath:META-INF/liquibase/changesets/0.0.2_alter_tables.xml"/>
    <include file="classpath:META-INF/liquibase/changesets/0.0.3_insert-data.sql"/>
</databaseChangeLog>

Schreibe einen Kommentar