2016-02-18 11 views
6

Szukam porady w następującym przypadku.Best pratice: Jak zmodyfikować skrypt migracji Flyway po jego użyciu

Skonfigurowałem skrypty przelotu i migracji w moim środowisku produkcyjnym. Przy każdym wdrożeniu baza danych zostanie poddana migracji do bieżącej wersji. Mam już utworzone kilka skryptów migracji, które zostały zastosowane do produktywnej bazy danych.

Niedawno uaktualniłem moje narzędzia programistyczne MySQL, które teraz zawierają ostrzeżenia o korzystaniu z przestarzałych funkcji i innych ostrzeżeń. Te ostrzeżenia nie zostały wyświetlone w starej wersji. Oczywiście chciałbym naprawić ostrzeżenia, szczególnie w przypadku, gdy przyszłej wersji bazy danych nie obsługuje już przestarzałe funkcje. Jednak migracje zawierające ostrzeżenia zostały już wdrożone i wykorzystane. Jeśli zmienię jednym z skryptów jest ostrzeżenie flyway:

ERROR: Validate failed. Migration Checksum mismatch for migration 2.0 
-> Applied to database : 1778293504 
-> Resolved locally : 1831545539 

mogę zmienić kontrolną, która jest przechowywana w bazie danych do migracji, ale to nie brzmi jak „dobry” sposób to zrobić. Jaki jest najczęstszy sposób/najlepsza praktyka zmiany skryptu migracji po został już użyty?

Z góry dziękuję!

Jens

Odpowiedz

10

Pierwsza zasada to nie.

Drugi to bardzo ostrożnie i użyj Flyway.repair(), aby wyrównać sumy kontrolne w DB z tymi na dysku.

+1

OK, tego się spodziewałem: D Dzięki za poświęcony czas i podpowiedź z napisem "repair()"! – jdoose