【问题标题】:Symfony2 generate entities errorSymfony2 生成实体错误
【发布时间】:2013-03-05 10:12:52
【问题描述】:

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

这是我生成它的命令:

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

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

【问题讨论】:

    标签: symfony entities


    【解决方案1】:

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

    【讨论】:

    • 它确实存在,并且确实包含带注释的实体,所以我猜它们是映射的。我试图手动重复整个过程,在最后一步我也得到了一个异常(另一个)[Doctrine\ORM\Mapping\MappingException] Class MyShop\ProductBundle\Entity\Product" is not a valid entity or mapped super class我完全从另一个有效实体复制,所以我很迷茫。最后一个 manual 版本只有所有 db 表字段的子集。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-26
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多