主义实体生成器

时间:2011-12-14 11:00:06

标签: symfony doctrine-orm

美好的一天,

在Symfony 2框架中创建新项目时,我对Doctrine实体生成器几乎没有任何问题。

出于测试目的,我有以下表称为用户: id INT PK

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 annotationphp app/console doctrine:generate:entities MyTestBundle导入映射并生成实体。

关于实体生成我几乎没有什么重要问题:

  1. 为什么会创建名为Users而不是User的实体?当我尝试修改./src/My/TestBundle/Resources/config/doctrine/metadata/orm中的yml文件时,生成器似乎忽略它们。有小费吗?

  2. 我需要实现自定义角色提供程序。这就是为什么我为角色存储创建了两个额外的表(简化模式如下):
    roles: id INT PK, name VARCHAR(50)
    users_roles: id INT PK, user_id INT, role_id INT 为什么发电机忽略了这种关系?它在UsersRoles类中创建正确的关系,但在角色或用户实体中不创建。我错过了什么吗?

  3. 非常感谢任何帮助/解释。

    修改
    我注意到了很奇怪的事情: 我创建了简单的Yaml模式并将其放在./src/MyTestBundle/resources/config/doctrine/metadata/orm中,我将此文件称为User.orm.yml。现在,当我尝试导入映射或生成实体时,我得到以下错误Bundle "MyTestBundle" does not contain any mapped entities.

    最热烈的问候,
    戴夫