2015-08-12 5 views
2

Я в настоящее время изучает Flyway в качестве альтернативы Liquibase, но не смог найти ответ на следующий вопрос в документации:Как справиться с изменением миграции Flyway?

Предположим, миграция X оказывается содержат ошибку после развертывания производства. Оглядываясь назад, Xникогда не должен был быть выполнен как есть, но уже слишком поздно. Однако мы хотели бы заменить миграцию X на фиксированную версию X', чтобы базы данных, заполненные с нуля, не пострадали от одной и той же ошибки.

В Liquibase вы должны исправить исходный набор изменений и использовать тег <validChecksum>, чтобы уведомить Liquibase о том, что изменение было сделано специально. Есть ли подвеска до <validChecksum> в Flyway, или альтернативный механизм, который достигает того же самого?

ответ

1

В зависимости, насколько большой беспорядок вы можете также

  • просто имеют последующие миграции, чтобы исправить его (опечатка в новое имя столбца, ..)
  • , если это не вариант, вам необходимо вручную исправить как миграция и БД и выпуск Flyway.repair(), чтобы перестроить контрольную http://flywaydb.org/documentation/command/repair.html
+0

Я знаю команду 'repair', но это просто отключает проверку контрольной суммы для данного прогона для всех перемещений, правильно? Вместо этого я ищу исправление одного набора изменений. – blubb

0

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

Смежные вопросы