Doctrine不会从已经存在的实体类创建一个新表?

时间:2014-09-11 23:01:46

标签: php mysql symfony doctrine-orm

我有一个实体定义为:

<?php
namespace Acme\myBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Acme\CoreBundle\Model\Message;

/**
 * Facebook Post
 * @ORM\MappedSuperclass
 * ORM\Table(name="acme_facebookPost")
 * ORM\Entity(repositoryClass="Acme\FacebookBundle\Entity\FacebookPostRepository")
 */
class FacebookPost extends Message
{
  // entity properties
}

这个实体类是在我项目的其他地方创建的,我只是把它移到了这里。 当我运行以下命令来生成实体并更新我的表时,它运行没有错误但是,我在数据库中看不到acme_facebookPost表。

php app/console doctrine:generate:entities AcmeFacebookBundle:FacebookPost

Generating entity "Acme\FacebookBundle\Entity\FacebookPost"
  > backing up FacebookPost.php to FacebookPost.php~
  > generating Acme\FacebookBundle\Entity\FacebookPost

然后:

$ php app/console doctrine:schema:update --force
Nothing to update - your database is already in sync with the current entity metadata.

谁能告诉我我在这里做错了什么?

感谢。

P.S。 我需要补充一点,我使用了注释,并且我的包内没有任何元数据。

1 个答案:

答案 0 :(得分:2)

您似乎忘记在@ORM\Entity(...之前添加ORM\Table(..,因此您的班级未被识别为实体