Доктрина 2 Миграции Рабочий процесс

Я занимаюсь разработкой веб-приложения с использованием Zend Framework 2 и Doctrine 2. Я новичок в Doctrine 2 в целом и в Migrations в частности. Мне было интересно, если есть какие-либо рекомендуемые лучшие практики в использовании этого. Некоторые конкретные вещи, которые я ищу:

  • Рекомендуемый рабочий процесс от разработки до развертывания?
  • Включаете ли вы предварительные данные в миграцию?
  • Как обработать возврат к предыдущей версии, если миграция не удалась.

Большое спасибо!

11

Решение

Учение имеет собственная библиотека для миграций, это включает также пакет Symfony.

Для Zend, вероятно, есть некоторый пакет также (возможно, поискать на Github немного больше)

Что касается ваших конкретных вопросов:

  1. Ничего особенного. Основной рабочий процесс хорошо описан в Комплектация Symfony. Мы используем его практически одинаково, даже в разных рамках.

  2. Да, так что каждый разработчик имеет полностью работоспособную систему. Для тестов мы используем data-fixtures только с минимально необходимыми данными.

  3. Это управляется самим этим пакетом.

4

Другие решения

Модуль Doctrine ORM для ZF2 (DoctrineORMModule) имеет встроенную поддержку миграции Doctrine ORM. Там в очень краткая реклама в документации о том, как его настроить. Затем вы можете получить доступ к командам миграции (создать, перенести и т. Д.) Через интерфейс CLI, который предоставляет модульvendor/bin/doctrine-module)

Что касается моего личного рабочего процесса, я обычно помещаю данные инициализации или предварительного заполнения — то, с чего вы изначально запускаете новую установку — в фикстуры базы данных (который Doctrine ORM также поддерживает а также есть модуль ZF2 для).

1