Я успешно запустил миграцию v1 с таблицей создания DDL. Я скопировал то же самое в файл v2 и запустил - получил ожидаемое сообщение об ошибке проверки:
Миграция до версии 1.0.002
com.googlecode.flyway.core.exception.FlywayException: ошибка при выполнении оператора
в строке 1: создать таблицу people (id номер (10) первичный ключ, имя varchar2 (301))
Вызвано java.sql.SQLSyntaxErrorException: ORA-00955: имя уже используется
n существующий объект
MigrationException: миграция на версию 1.0.002 не удалась! Пожалуйста, восстановите резервные копии
и откатить базу данных и код
Я исправил файл v2 и снова запустил миграцию. Возвращение сообщения об ошибке
Текущая версия схемы: 1.0.002
MigrationException: миграция на версию 1.0.002 не удалась! Пожалуйста, восстановите резервные копии
и откатить базу данных и код
Я не на этапе, когда делается резервное копирование базы данных - просто пытаюсь выполнить фиксированный DDL. В настоящее время я не вижу решения, за исключением чистого пути. Почему flyway не может снова попытаться выполнить FAILED версии (если контрольная сумма изменилась)? Или там не должно быть команды отката с пролета?
Я знаю, что могу очень хорошо изменить код, чтобы сделать его таким, но была ли какая-то причина, по которой вы выбрали его так?