Doctrine实体生成器

5

你好,

在创建Symfony 2框架中的新项目时,我在Doctrine实体生成器方面遇到了一些问题。

为了测试目的,我有一个名为“users”的以下表:

id INT PK

username VARCHAR(80)
password VARCHAR(150)
salt VARCHAR(100)
email VARCHAR(100)

我创建了一个新项目,没有问题。 我把我的新bundle叫做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类中创建了正确的关系,但在Roles或Users实体中没有。 我有什么遗漏吗?

任何帮助/解释都将不胜感激。

编辑
我注意到了一个非常奇怪的事情: 我创建了一个简单的Yaml模式,并将其放在./src/MyTestBundle/resources/config/doctrine/metadata/orm中,我称此文件为User.orm.yml。 现在,当我尝试导入映射或生成实体时,我会收到以下错误消息:Bundle“ MyTestBundle”不包含任何映射实体。

最热烈的问候,
戴夫

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接