Flyway 3.1: Erleichterte Datenbankmigration mit SQL und Java

Michael Thomas
Logo: flywaydb.org

Eine Datenbankmigration gehört weder zu den spannendsten noch zu den begehrtesten Aufgaben, die die IT-Welt zu bieten hat. Ein wenig Erleichterung bringt Flyway: Mithilfe des kleinen Tools können Datenbankmigrationen in einem SQL-Skript oder mittels Java geschrieben und über das API bzw. via Maven, Gradle, Ant automatisiert ausgeführt oder über die Kommandozeile angestoßen werden. Die bislang unterstützten Datenbanken umfassten Oracle, SQL Server, SQL Azure, MySQL, MariaDB, Google Cloud SQL, PostgreSQL, DB2, Derby, H2, Hsql und SQLite.

Neue Features

Mit Flyway 3.1 gesellen sich nun drei weitere illustre Namen hinzu: Ab sofort werden auch die Datenbanken Vertica, AWS Redshift und DB2 z/OS unterstützt. Ein weiteres Highlight stellt die Einführung SQL-basierter Callbacks dar: Versieht man eine SQL-Datei mit demselben Namen wie den Callback und legt sie an einem der konfigurierten Standorte ab, so wird sie zum entsprechenden Zeitpunkt im Lebenszyklus ausgeführt. Da – gemessen an der Anzahl der Downloads – der Befehlszeilenclient mittlerweile die beliebteste Art der Flyway-Nutzung darstellt, haben die Entwickler sich zudem die größten Hürden zur Brust genommen, die dem im Wege standen, namentlich fehlende JDBC-Treiber sowie die JDBC URL-Syntax. Zumindest für die Datenbanken MySQL, MariaDB, PostgreSQL, Redshift, H2, Hsql, Derby und SQLite enthält die neue Version nun von Haus aus die passenden JDBC-Treiber. Um das Syntax-Problem einzudämmen, wurden der Konfigurationsdatei Beispiele für korrekte JDBC-URLs hinzugefügt – und zwar für sämtliche unterstützten Datenbanken.

Ein letzte interessante Neuerung betrifft die nun bestehende Möglichkeit des Sponsoring: Möchte eine Firma oder eine Institution unbedingt, dass ein spezifischer Bug möglichst schnell bereinigt oder ein neues Feature implementiert wird, so kann sie die entsprechende Entwicklung sponsern. Der große Vorteil: Man ist nicht länger gezwungen, sich selbst an den Interna von Flyway zu schaffen zu machen und eigene Zeit und Arbeitskraft dafür aufzuwenden. Die Kosten des Sponsoring orientieren sich dabei an den reinen Entwicklungskosten; der Support in künftigen Versionen ist zudem komplett kostenfrei.

Alle weiteren Features, Verbesserungen und Bugfixes können in den offiziellen Release Notes nachgelesen werden.

Eine gute Einführung in Flyway bietet der Artikel „Flyway ist ein einfaches Tool, das die Migration von Datenbanken zum Kinderspiel macht“ von Christian Grobmeier: Da sich an der grundlegenden Funktionsweise des Tools nichts geändert hat, ist er trotz seines etwas fortgeschrittenen Alters nach wie vor aktuell.

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Flyway 3.1: Erleichterte Datenbankmigration mit SQL und Java"

avatar
400
  Subscribe  
Benachrichtige mich zu:
kitenco
Gast

Auf http://www.kitenco.de kann man sich meinen Artikel zu Flyway vs. Liquibase kostenlos bestellen. Er beinhaltet einen Vergleich der beiden Tools und war Grundlage des Vortrags auf der Continuous Lifecycle 2014