Подтвердить что ты не робот

Рекомендация: как изменить сценарий миграции flyway после его использования

Я ищу совет в следующем случае.

Я настроил пролетные и миграционные сценарии в своей производственной среде. При каждом развертывании база данных будет перенесена в текущую версию. Я уже создал несколько сценариев миграции, которые были применены к производительной базе данных.

Недавно я обновил свои инструменты разработки MySQL, которые теперь включают предупреждения об использовании устаревших функций и другие предупреждения. Эти предупреждения не отображались в старой версии. Конечно, я хотел бы исправить предупреждения, особенно для случая, когда будущая версия базы данных больше не будет поддерживать устаревшие функции. Но миграции, содержащие предупреждения, уже развернуты и используются. Если я изменяю один из сценариев, появляется предупреждение:

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

Я мог бы изменить контрольную сумму, которая хранится в базе данных для переноса, но это не похоже на "хороший" способ сделать это. Каков наиболее распространенный способ/лучший способ изменить сценарий миграции после его использования?

4b9b3361

Ответ 1

Первое правило - нет.

Второй - сделать это очень осторожно и использовать Flyway.repair(), чтобы перестроить контрольные суммы в БД с помощью дисков на диске.

Ответ 2

Я полностью согласен с тем, что вы не должны этого делать.

Но если вам действительно нужно, вы можете изменить конфигурацию пролетного пути и установить логическое значение validateOnMigrate как false.

Вот ссылка: https://flywaydb.org/documentation/commandline/migrate#validateOnMigrate