2013-03-05 147 views
2

我試圖從數據庫中的現有表中生成實體,我一直在從第二個數據庫(或實體管理器)導入的特定實體中得到相同的錯誤,但我重新創建了這個主數據庫中的表使用相同的實體管理器,並得到相同的錯誤,所以我迷失了方向。Symfony2生成實體錯誤

這是我的命令生成它:

php app/console doctrine:mapping:convert yml ./src/MyShop/ProductBundle/Resources/config/doctrine/metadata/orm --from-database --filter="Product" --em=mysecondaryem 

(順便說一句,有沒有辦法迫使確切的過濾器,我只需要產品?) 這似乎是確定:

Processing entity "ProductSold" 
Processing entity "Product" 

Exporting "yml" mapping information to... 

然後

php app/console doctrine:mapping:import MyShopProductBundle annotation --em=mysecondaryem 

這是奇怪的,因爲它是記錄與存在於這個數據庫中的所有其他表的信息,但它只是產生相應的「產品」爲過濾(只有文件ProductSold.php和Product.php也確實存在):

Importing mapping information from "mysecondaryem" entity manager 
    > writing C:\mysite\src\MyShop\ProductBundle/Entity/ProductSold.php 
    > writing C:\mysite\src\MyShop\ProductBundle/Entity/Family.php 
    > writing C:\mysite\src\MyShop\ProductBundle/Entity/Category.php 
    > writing C:\mysite\src\MyShop\ProductBundle/Entity/Item.php 
    > writing C:\mysite\src\MyShop\ProductBundle/Entity/Stock.php 
    > writing C:\mysite\src\MyShop\ProductBundle/Entity/Product.php 

然後,在第三步中,我得到一個錯誤:

php app/console doctrine:generate:entities MyShopProductBundle --no-backup 

Generating entities for bundle "MyShopProductBundle" 
    [RuntimeException] 
    Bundle "MyShopProductBundle" does not contain any mapped entities. 
doctrine:generate:entities [--path="..."] [--no-backup] name 

正如我賽義德,我試着忽略次要的實體管理器(複製在我的第一個數據庫表),我也得到了同樣的錯誤。

回答

0

好吧,我發現了錯誤,我缺少--force參數,第一個步驟的命令應該是:

php app/console doctrine:mapping:convert yml ./src/MyShop/ProductBundle/Resources/config/doctrine/metadata/orm --from-database --force --filter="Product" --em=mysecondaryem 
1

您已驗證C:\mysite\src\MyShop\ProductBundle/Entity/Product.php已創建,但您是否還檢查過它確實包含映射實體?

+0

它確實存在,而且它確實包含註明實體,所以我猜它們映射。我試圖重複整個過程,並在最後一步我也得到一個異常(一個不同的)'[Doctrine \ ORM \ Mapping \ MappingException]類MyShop \ ProductBundle \ Entity \ Product「不是一個有效的實體或映射超級類'我完全從另一個有效的實體複製,所以我很迷茫。最後一個_manual_版本只有所有數據庫表字段的子集。 – 2013-03-06 16:03:47

相關問題