2

我正在尝试从数据库中的现有表生成实体,但在从第二个数据库(或实体管理器)导入的特定实体中不断收到相同的错误,但我在主数据库中重新创建了此表以使用相同的实体管理器并得到相同的错误,所以我对正在发生的事情感到迷茫。

这是我生成它的命令:

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

正如我所说,我尝试省略辅助实体管理器(在我的第一个数据库中复制表),我得到了同样的错误。

4

2 回答 2

1

您已验证C:\mysite\src\MyShop\ProductBundle/Entity/Product.php已创建,但您是否也检查过它是否实际包含映射实体?

于 2013-03-06T12:34:27.730 回答
0

好的,我发现了错误,我缺少--force参数,第一步命令应该是:

php app/console doctrine:mapping:convert yml ./src/MyShop/ProductBundle/Resources/config/doctrine/metadata/orm --from-database --force --filter="Product" --em=mysecondaryem
于 2013-03-08T12:42:48.300 回答