Используя Symfony 2.5 и Doctrine 2.2, у меня есть несколько баз данных для приложения, над которым я работаю, давайте назовем одну «Основную», а другую «Вторичную». В настоящее время настроены два менеджера сущностей. В одной миграции я хочу создать таблицу в «Secondary», но она хочет создать таблицу только в «Main».
Миграция может быть ContainerAware, поэтому я могу получить другой EntityManager, но мне не удалось переопределить стандартное. Кто-нибудь может помочь? Заранее спасибо!
Просто пройдите --em
параметр при генерации diff
,
Пример:
php app/console doctrine:migrations:diff --em=uac # will use uac entity manager
php app/console doctrine:migrations:diff # will use the default entity manager
Чтобы исключить пользовательские таблицы из удаления, используйте:
doctrine:
dbal:
schema_filter: ~^(?!t_)~
согласно этот документ, в качестве альтернативы вы можете передать аргумент фильтра во время выполнения:
app/console doctrine:migrations:diff --em=uac --filter-expression=/whatever/
Других решений пока нет …