2016-05-12 27 views
0

Ich hatte V1__init.sql Skript, in dem ich eine Tabelle Table1_name mit 1 Spalte erstellte. Es lief perfekt. Dann entschied ich, den Tabellennamen zu ändern, und dafür änderte ich das V1__init.sql und änderte das Skript vonFlyway: Reparatur wird nicht erkannt

Create Table Table1_Name zu Create Table TableName. Jetzt hatte ich erwartet, dass, wenn ich das Projekt ausführen würde, würde Flyway automatisch die Änderung erkennen und die Tabelle umbenennen, aber ich habe eine Prüfsumme Fehler. Nach dem Lesen ein wenig Dokumentation, habe ich gelernt, dass ich ausgeführt werden muss mvn flyway:repair ... Jetzt, wenn ich versuche, dies in meinem Projektordner ausführen, bekomme ich Fehler, dass flyway ist kein erkanntes Präfix.

Warum so?

Antwort

0

Flyway-Skripte sollten nicht geändert werden, nachdem sie ausgeführt wurden.

In Ihrem Beispiel sollten Sie eine zweite SQL-Datei V2__rename_table1.sql erstellen, um die Tabelle umzubenennen. mvn flyway:migrate würde dann das neue Skript erkennen und ausführen.

Wenn Sie wirklich müssen ein Skript erneut ausführen, dann tun mvn flyway:clean flyway:migrate sollte den Trick tun.