Wir möchten Flyway so verwenden, dass wir die letzte Migration wiederholen können, solange die letzte schemaVersion noch nicht freigegeben ist, also die letzte db-Änderungsdatei nicht nur würde es erneut ausgeführt werden, aber wenn möglich, nach dem Löschen der letzten Änderungen (es ist also nicht genau das wiederholbare Migrationskonzept, das ich folge).Wiederholbare Migrationen nur innerhalb eines Releases (nur letzte Update-Datei) durch Spring Boot
Gibt es eine Lösung oder eine gute Idee, um dieses Problem zu lösen? Wir verwenden Spring Boot, um den Flyway-Prozess zu konfigurieren.
EDIT: Bisher (dank Axel) Ich fand heraus, diese zwei Alternativen:
0.Increment Schema für jede Änderung, auch innerhalb eines Release (Vermeidung, dass die Motivation der Frage ist)
1.Verwenden Sie die Eigenschaft spring.flyway.cleanOnValidationError in jeder Pipeline auf true/deploy vor dem Release eins Dies bedeutet, wenn wir jemals ein versioniertes Skript vor dem Snapshot ändern, würden wir beim Deployment feststellen die Freisetzungs-Pipeline
2.Work mit wiederholbaren Migrationen (R__) und einige Hack machen, den Namen zu einer versioniert Migration während des Lösens Pipeline Problem zu ändern: SCHAFFT und Tropfen sind in Ordnung, aber Abspaltungen erfordern PL/SQL für die IF Teil VORHANDEN
3.Ändern db Migration Anbieter auf einem, die Herabstufung unterstützt (die gleiche Zugweg Dokumentation sagt dies in der Regel eine problematische Idee ist)
Wenn niemand eine bessere Lösung findet, werde ich Axel Antwort acccept
Ist dies nur für Dev oder für andere Umgebungen? –
nur für dev, ich denke, Integrationsstufen verwenden immer die Version – Whimusical
(so dass sie nie die Notwendigkeit für die Aktualisierung einer versionierten Schemadatei konfrontiert) – Whimusical