Repeatable Migrations mit Flyway 4.0

Flyway ist ein Datenmigrations-Tool und stellt mit der neuen Version 4.0 die „repeatable Migrations“, also wiederholbare Migrationen vor.

Wiederholbare Migrationen sind z.B. Definitionen von Views, Prozeduren, Funktionen und Packages, die, auch wenn sie sich verändern, nicht als Differenzskript, sondern als komplette Definition in die Datenbank eingespielt werden. Vor allem aber ist es so möglich, unter Beibehaltung des Dateinamens mehrere Versionen der Datei mittels Flyway in die Datenbank einzuspielen.

Anwendungsbeispiel

im Schema hr liefert die view Managers eine Sicht auf alle Mitarbeiter, die als Manager tätig sind.

Diese View ist in der Datei R1__View_Manager.sql definiert.

create view manager as select id,name from employees

Nun wird die Tabelle employees um eine Spalte isManager erweitert. Das Skript dazu steht in V1.1__manager_add_isManager.sql

alter table employees add isManager char(1) default 'N';

Entsprechend muss sich die View-Definition ändern. Diese Änderung erfolgt in der Datei R1__View_Manager.sql:

create or replace view Manager as select * from employees where isManager = 'Y'

Es ist dieselbe Datei wie die ursprüngliche Definition. Auf diese Weise lassen sich Änderungen an der Datei z.B. in GIT gut nachverfolgen und der Entwickler ist nicht mehr gezwungen eine weitere Datei mit der neuen Definition der View anzulegen. Das ist eine echte Verbesserung bei der Wartung und Entwicklung datenbankseitiger Logik.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.