Добрый день,
У меня мало проблем с генератором сущностей Doctrine при создании нового проекта в среде Symfony 2.
Для целей тестирования у меня есть следующая таблица с именем users: id INTPK
username VARCHAR(80)
password VARCHAR(150)
salt VARCHAR(100)
email VARCHAR(100)
Я создал новый проект без проблем.Я назвал свой новый пакет MyTestBundle.
После завершения проектирования базы данных я использую php app/console doctrine:mapping:convert yml ./src/My/TestBundle/Resources/config/doctrine/metadata/orm --from-database --force
, чтобы отобразить схему базы данных в файлы формата Yaml.Затем я использую php app/console doctrine:mapping:import MyTestBundle annotation
и php app/console doctrine:generate:entities MyTestBundle
для импорта карт и создания сущностей.
У меня есть несколько важных вопросов относительно генерации сущностей:
Почему он создает сущность с именемПользователи вместо пользователя?Когда я пытаюсь изменить файлы yml, расположенные в ./src/My/TestBundle/Resources/config/doctrine/metadata/orm
, генератор, кажется, игнорирует их.Какие-нибудь советы?
Мне нужно реализовать свой поставщик пользовательских ролей.Вот почему я создал две дополнительные таблицы для хранения ролей (упрощенная схема ниже):
roles: id INT PK, name VARCHAR(50)
users_roles: id INT PK, user_id INT, role_id INT
Почему генератор игнорирует это отношение?Он создает правильные отношения в классе UsersRoles, но не в сущностях Roles или Users.Я что-то упустил?
Любая помощь / объяснение будет очень признателен.
Редактировать
Я заметил действительно странную вещь: ясоздал простую схему Yaml и поместил ее в ./src/MyTestBundle/resources/config/doctrine/metadata/orm
, я назвал этот файл User.orm.yml
.Теперь, когда я пытаюсь импортировать сопоставление или генерировать объекты, я получаю следующую ошибку Bundle "MyTestBundle" does not contain any mapped entities.
Самый теплый привет,
Дейв