2012-03-02 5 views
0

Исправьте меня, если я ошибаюсь, но кажется, что первый шаг Flyway для интеграции существующей базы данных состоит в том, чтобы создать файл инициализации SQL, содержащий DDL и ссылочный вывод данных из производства (See here). Но я не понимаю цели такого файла, так как он, похоже, не используется ни плагином maven Flyway, ни API Flyway. Таким образом, нет возможности восстановить базу данных в исходном состоянии с помощью инструментов, предоставляемых Flyway. У кого-нибудь есть представление о заинтересованности создания файла инициализации?Flyway: интерес к созданию файла инициализации SQL?

ответ

2

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

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

+0

Спасибо Alex, но, если быть более точным, что представляет интерес для создания файла инициализации SQL, чье имя совпадает с именем базовой версии? Например, в то время как я должен создать файл с именем V1.0__base_version.sql перед запуском 'mvn flyway: init -Dflyway.initialVersion = 1.0 -Dflyway.initialDescription =" base version "', поскольку этот файл, похоже, не используется на пролетной линии ? – 1tox

+0

flyway: init предназначен для производственной БД, чтобы указать, что это состояние, в котором Flyway будет управлять обновлениями. Затем V1.0__base_version.sql будет содержать эту точную структуру и применяться ко всем другим средам. Таким образом, все среды будут иметь одинаковую структуру, и Flyway сообщит 1.0 как текущую версию во всех из них, хотя миграция еще не была выполнена против производственной БД. Единственное, что произошло, это создание таблицы метаданных с одной маркерной строкой, результатом которой является команда init. –

+0

ОК, я понял. Спасибо и поздравляем вас за рамки! – 1tox

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

  • Нет связанных вопросов^_^