2012-09-17 51 views
1

我有一個使用symfony2和doctrine2編寫的現有php web應用程序。我向數據庫添加了一個表。現在,我希望ORM爲我編寫php類。我試着這樣做:使用ORM導入新表時出錯

php app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force 

我也試過這樣:

php app/console doctrine:mapping:import SomeBundle annotation 

他們都拋出這個錯誤:

[ErrorException] 

Warning: class_parents(): Class SomeClass does not exist 
and could not be loaded in C:\wamp\www\vac\vendor\ 
gedmo-doctrine-extensions\lib\Gedmo\Mapping\ 
ExtensionMetadataFactory.php line 80 

任何想法什麼我需要做什麼?

回答

0
  1. 刪除所有實體以及您的實體文件夾。
  2. 使用orm文件夾刪除所有orm文件。
  3. 然後嘗試從您的數據庫創建具有新表的ORM和實體文件。

    a。 $ php app/console doctrine:mapping:convert xml ./src/YourDir/YourBundle/Resources/config/doctrine/metadata/orm --from-database --force

    b。 $ php app/console doctrine:mapping:import YourDirYourBundle annotation

    c。 $ php app/console doctrine:generate:entities YourDirYourBundle

試試這個。

+1

我想這會工作。但是,實體已被修改,所以我會丟失代碼。我想象使用ORM的正確方法是擴展創建的實體並以這種方式進行專門化。也就是說,不要編輯生成的代碼。就這樣說,我會把這個標記爲其他人的答案。如果有人發現這不是答案,請說出來。 –