Flyway отменить проверку миграции - PullRequest
0 голосов
/ 27 сентября 2018

Итак, я только что прочитал и узнал о миграции в Flyway.Я разработал проект spring-boot и включил Flyway в файл POM проектов.

Теперь я написал сценарий SQL в файл и поместил его в папку resources/db проекта и Flyway похоже, делает свою работу.

К сожалению, скрипт SQL имеет некоторые ошибки, и проект не будет компилироваться.Вместо этого это дает мне ошибку SQL.После этого я меняю свой SQL скрипт и исправляю свои ошибки.Когда я запускаю тот же проект, он теперь выдает ошибку, говорящую, что validation checksum failed.Я вернул обратно flyway_schema_history, и он показывает мне предыдущий скрипт запуска.

Разве Flyway не должен хранить только те миграции, которые верны и работают правильно?Потому что, если по ошибке у меня появятся ошибки в скрипте SQL, мне придется создать один скрипт, скопировать исправленный код SQL и запустить его.Есть ли что-нибудь подобное в Flyway?

1 Ответ

0 голосов
/ 27 сентября 2018
Цель

Flyway - управлять версиями вашей базы данных.Это возможно только с помощью строгих правил управления версиями, так как каждая опубликованная версия хранится с соответствующей контрольной суммой.Как только версия опубликована, ее нельзя просто удалить или изменить, поскольку это повлияет на состояние базы данных.

validation checksum failed error Flyway выводит на печать именно то, что вы манипулируете существующим и версионным файлом SQL.

Однако - есть несколько опций для восстановления неисправного файла SQL:

  • Отмена последней миграции:

Так что продолжайте и вызывайте

flyway undo Это даст вам следующий результат:

Database: jdbc:h2:file:./foobardb (H2 1.4) Current version of schema "PUBLIC": 2 Undoing migration of schema "PUBLIC" to version 2 - Add people Successfully undid 1 migration to schema "PUBLIC" (execution time 00:00.030s)

(https://flywaydb.org/getstarted/undo#undoing-the-last-migration)

  • Если выВы все еще находитесь на ранней стадии тестирования, вы также можете удалить всю базу данных и начать с новой ...
...