С веб-сайта flyway.
Выполняет ли Flyway откат в случае сбоя миграции?
Flyway выполняет каждую миграцию в отдельной транзакции.В случае неудачи эта транзакция откатывается.К сожалению, сегодня только DB2, PostgreSQL, Derby, EnterpriseDB и в определенной степени SQL Server поддерживают операторы DDL внутри транзакции.Другие базы данных, такие как Oracle, неявно включаются в коммит до и после каждого оператора DDL, что резко снижает эффективность этого отката.Один из вариантов, если вы хотите обойти это, - включить только одну инструкцию DDL для каждой миграции.Однако у этого решения есть недостаток: он весьма громоздок.
Это то, что нам всегда нужно делать, если миграция не удалась.
Как вывосстановить базу данных после неудачной миграции?Если ваша база данных поддерживает транзакции DDL, Flyway сделает всю работу за вас.
Если ваша база данных не поддерживает, выполните следующие действия:
Вручную отмените изменения миграции Вызовите восстановлениекоманда Исправить неудачную миграцию. Повторите попытку
БЮР: https://flywaydb.org/documentation/faq#repair
Вопросы:
Что означает, что Oracle не поддерживает DDL-операторы внутри транзакции?
DDL - ссылка на создание таблицы, изменение таблицы и т. Д.?
Существует ли решение не фиксировать изменения, пока все операторы внутрискрипт успешно выполнен?
Благодарим вас за помощь.Спасибо.