2016-11-14 10 views
0

Итак, создавая новую базу данных, используя наши сценарии миграции базы данных, написанные в проекте flyboot flyway, мы поняли, что допустили некоторые ошибки.Как я могу удалить проблемы с моим проектом flyboot flyway?

Некоторые старые сценарии необходимо изменить, чтобы гарантировать, что мы не столкнемся с этими проблемами, когда снова создадим новую схему базы данных. Эти проблемы в основном связаны - информационная таблица не была заполнена записями в проекте, и есть сценарии, относящиеся к данным в проекте миграции - эти данные не существуют, потому что мы никогда не включали скрипт для включения данных.

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

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

Я не могу вернуться и исправить свой сценарий, потому что тогда проект миграции завершится неудачно из-за проблем с контрольной суммой.

ответ

1

У вас достаточно, если этот проект и сценарии запущены в некоторых существующих проектах, вы не можете их модифицировать, потому что контрольная сумма не удалась.

Тогда самый чистый способ, я могу думать, будет добавить файл под названием «DB-GENERAL-FIXES» или что-то в этом роде, где вы можете добавить все проверки SQL для восстановления базы данных до стабильного состояния. Для новых реализаций будет дополнительная работа, сначала постройте ее неправильно, а затем очистите, но если вы сейчас используете один и тот же код в производстве ... это лучший вариант.

+0

Это имеет смысл, но проект не работает на полпути. Например, если есть 10 скриптов, проект перестает работать на 5-м скрипте, потому что что-то в скрипте не учитывает, что мы могли бы запустить его для создания новой схемы в новом db. Поэтому я должен внести некоторые изменения в db, чтобы гарантировать, что весь проект может работать нормально, и эти изменения db должны быть выполнены до запуска 5-го скрипта. – Tisha

+0

@ Тиша Да, к сожалению, вам нужно создать некоторые скрипты, даже если вы знаете таблицы, строки или что-то еще, что будет удалено в будущих сценариях, но вы должны сделать в новых проектах всю эволюцию БД, чтобы использовать те же – cralfaro