У меня проблема с переопределением сущности. Мне нужно, чтобы поле emailCanonical
не было уникальным.
Вот что я сделал: в моем UserBundle\Resources\config\doctrine\User.orm.xml
я добавил следующую конфигурацию attribute-overrides
, согласно документации Doctrine2
<attribute-overrides>
<attribute-override name="emailCanonical">
<field column="email_canonical" unique="false" name="emailCanonical" />
</attribute-override>
</attribute-overrides>
Затем я выполнил следующие команды консоли
$ php app/console doctrine:migrations:diff
$ php app/console doctrine:migrations:migrate
Все работало нормально. emailCanonical
был сделан не уникальным. Но теперь, когда мне нужно создать объект в других пакетах проекта, у меня есть странная ошибка:
$ php app/console doctrine:generate:entities SkyModelsBundle:Category
Generating entity "Sky\Bundle\ModelsBundle\Entity\Category"
[Doctrine\ORM\Mapping\MappingException]
Invalid field override named 'emailCanonical' for class 'Sky\Bundle\UserBundle\Entity\User'.
doctrine:generate:entities [--path="..."] [--no-backup] name
Однако, если я удалю настройки переопределения из сопоставления xml, все будет хорошо.