Symfony2 Создание доктрины из файлов .yml - PullRequest
4 голосов
/ 04 февраля 2012

Итак, у меня есть существующая база данных, но я не смог выполнить описанные здесь шаги: http://symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html, потому что некоторые из моих таблиц имеют внешние ключи для первичных ключей.

Мое решение состояло в том, чтобы создать копию базы данных без ограничений внешнего ключа и сначала сгенерировать файлы .yaml из THAT.

Так что теперь у меня есть файлы XXX.orm.yml в ./src/My/MainBundle/Resources/config/doctrine/metadata/orm

Затем я попытался превратить эти файлы .yml в классы сущностей с аннотациями с помощью этой команды: php app / console доктрина: отображение: импорт аннотации MyMainBundle Однако это игнорирует мои файлы .yml. Он либо генерирует универсальные классы из моей базы данных без внешних ключей, либо выдает ошибку, если я использую его в своей реальной базе данных. Он даже не смотрит на мои файлы .yml.

Итак, все, что я хочу знать, это как я могу преобразовать файлы * .orm.yml в сущности?

Ответы [ 3 ]

4 голосов
/ 05 февраля 2012

Я не на 100% уверен, что это все, что мне нужно было сделать, чтобы это исправить, но я думаю, что решение было так же просто, как переместить мои файлы .orm.yml из

./src/My/MainBundle/Resources/config/doctrine/metadata/orm

в

./src/My/MainBundle/Resources/config/doctrine

и работает

php app/console doctrine:mapping:import MyMainBundle annotation --path="./src"
2 голосов
/ 21 марта 2016

Используйте convert после import для преобразования yaml в аннотации сущностей:

php bin/console doctrine:mapping:convert annotation src

См. --Help для получения дополнительной информации.

Чтобы принудительно переопределить файлы сущностей, используйте параметр --force.

Для создания методов доступа (геттеров и сеттеров) используйте

php bin/console doctrine:generate:entities yourBundle

Не забудьте проверить, не перекрывают ли yml-файлы поведение изменений аннотаций ...

Привет

2 голосов
/ 27 февраля 2013

- путь не является опцией для доктрины команды: отображение: импорт

...