Как может само веб-приложение Symfony обнаруживать неприменимые миграции доктрин? - PullRequest
0 голосов
/ 28 февраля 2019

Обычный способ работы с Doctrine Migrations - через стандартные команды - во время разработки команды запускаются вручную, например, для запуска diff-файлов и применения миграций, а развертывание обычно включает их применение по тому же подходу, но автоматически.Иногда при работе в команде на локальном экземпляре появляются новые миграции, но я обновил свой источник из системы контроля версий, а не сделал развертывание, поэтому мне нужно применить новые миграции вручную, и мне нужно знать, что мне нужносделай это!Улучшение может заключаться в отображении на отображаемой веб-странице предупреждения о том, что миграции не синхронизированы и необходимо предпринять действия.

Есть ли способ получить доступ к API миграции напрямую в коде PHP / Symfony, чтобы я могможет обнаружить несоответствие между совершенной и прикладной миграциями?Я не нашел никакой документации об этом.У меня был начальный удар по коду, и он кажется сильно искаженным в сторону команд (достаточно разумно).

1 Ответ

0 голосов
/ 28 февраля 2019

Во-первых, обновление исходного кода из системы управления версиями также является развертыванием, и применение Doctrine Migrations должно быть частью этого.Вам следует создать контрольный список всех шагов, которые необходимо выполнить во время развертывания, включая откат.В зависимости от сложности приложения многие вещи могут пойти не так.

Чтобы ответить на ваш вопрос, вы можете выполнить в своем коде diff-миграцию с компонентом Process и проанализировать выводчтобы определить, нужно ли применять миграции.

...