Это случай использования Flyway? - PullRequest
3 голосов
/ 01 октября 2019

Я доставил продукт покупателю. Теперь я обновил продукт, который включает в себя изменения в базе данных.

Клиент хочет обновить Продукт. Теперь Flyway поможет в миграции данных клиента со старой версии на новую. Пожалуйста, дайте мне знать, если это допустимый вариант использования. В документации по пролетам рассказывается об использовании только в процессе разработки.

1 Ответ

0 голосов
/ 02 октября 2019

Flyway позволяет изменить базу данных, запустив набор сценариев в определенном порядке. Эти сценарии называются «миграциями», поскольку они позволяют «переносить» вашу базу данных из одной версии в другую.

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

Как сказал SudhirR , основным вариантом использования Flyway является определение изменений схемы. Тем не менее, вполне возможно изменить данные. Поскольку Flyway просто запускает простой SQL, в принципе почти все, что вы можете сделать в сценарии SQL, вы можете сделать и при миграции на Flyway.

В описанном вами случае должна быть возможность использовать Flyway для миграции клиента. база данных. Вы можете предпринять следующие шаги:

  • Создать сценарий sql, включающий весь DDL (включая индексы, триггеры, процедуры и т. Д.) Рабочей базы данных. Для этого вам нужно будет добавить операторы вставки для всех справочных данных, присутствующих в базе данных.
  • Сохраните этот скрипт в своем проекте Flyway как что-то вроде 'V1__base_version.sql'
  • Запустите flyway baseline команда для вашей производственной базы данных
    • Это настроит вашу производственную базу данных для использования с Flyway
  • Добавьте новый сценарий миграции для переноса данных вашего клиента в новую версию
    • например, создать новую таблицу, скопировать данные из старой таблицы в новую таблицу, удалить старую таблицу
  • Запустить flyway migrate, чтобы обновить производство

Эти шаги адаптированы со страницы документации Flyway здесь .

Конечно, вы должны прочитать Flyway docs и вручную протестировать одноразовую БД, прежде чем что-либо предпринимать противпроизводство. Тем не менее, я думаю, что в принципе Flyway может подойти для вашего случая использования.

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