Как внедрить миграцию базы данных в работающий проект с существующей базой данных? - PullRequest
0 голосов
/ 23 июня 2019

Некоторое время назад я написал приложение Zend Framework 3 с MySQL 5.7 и Doctrine 2.

Обновление схемы базы данных и «управление версиями» было / является «управляемым моделью данных».Означает: всякий раз, когда требуется обновить схему, сначала изменения вносятся в модель в MySQL Workbench.После этого базы данных во всех средах синхронизируются с моделью с использованием соответствующей функциональности MySQL Workbench.Последнее (но не в последнюю очередь): схема для тестов базы данных затем обновляется вручную.

(Сегодня все это немного сбивает с толку, но когда я писал приложение, оно, похоже, былохороший подход ...)

Теперь я хочу перейти на миграцию.Я знаю, как использовать (настраивать, создавать, писать и т. Д.) Миграции.Это не вопрос.Вопрос:

Как переключить на миграцию в контексте существующего приложения и базы данных?


DR; TL

Мой план:

Первым и, возможно, наиболее трудоемким шагом, очевидно, будет настройка новой базы данных:

  1. Созданиеструктура: мне нужно создать миграции для существующей структуры.Это должны быть миграции на основе PHP-кода (и не простой SQL), поэтому я могу использовать их позже для тестовой базы данных (поскольку я хочу иметь возможность запускать тесты в SQLite / в памяти).
  2. Вставка основныхданные в базу данных приложения.
  3. Вставка основных данных теста в базу данных теста.

Вот и все.Или нет?Есть вещи, которые я не рассматриваю?Есть какие-то скрытые трудности, любой камень преткновения?

...