2011-12-14 74 views
4

美好的一天,學說實體發生器

我在Symfony 2框架中創建新項目時很少遇到Doctrine實體生成器問題。

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

我創建了沒有問題的新項目 ID INT PK:

出於測試目的,我有如下表被叫用戶。我打電話給我的新捆綁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. 爲什麼它創造的實體,稱爲用戶,而不是用戶?當我嘗試修改位於./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類中創建正確的關係,但不在角色或用戶實體中創建。我錯過了什麼嗎?

任何幫助/解釋將不勝感激。

編輯
我注意到真是奇怪的事情: 我創建簡單的YAML的模式,並把它在./src/MyTestBundle/resources/config/doctrine/metadata/orm,我叫這個文件User.orm.yml。現在,當我嘗試導入的映射或生成我獲得以下錯誤Bundle "MyTestBundle" does not contain any mapped entities.

最熱烈的問候實體,
戴夫

回答