Doctrine2:使用doctrine validate命令时存在表alrerady

时间:2015-01-06 13:57:48

标签: php entity-framework symfony doctrine-orm doctrine

我在symfony2中使用了doctrine 2。下面是我的实体文件。当我尝试使用以下命令验证模式时,

php app/console doctrine:schema:validate

我收到错误:

E:\xampp\htdocs\sas>php app/console doctrine:schema:validate
[Mapping]  FAIL - The entity-class 'Sas\SuccessatschoolBundle\Entity\UniversityM
eta' mapping is invalid:
* The mappings Sas\SuccessatschoolBundle\Entity\UniversityMeta#university and Sa
s\SuccessatschoolBundle\Entity\University#metaData are inconsistent with each ot
her.

[Doctrine\DBAL\Schema\SchemaException]
The table with name 'sas.employer_university_meta' already exists.

以下是我的实体: EmployerMeta

/**
* @ORM\Table(name="employer_university_meta")
* @ORM\Entity
*/
class EmployerMeta extends EmployerUniversityMetaBase
{ }

UniversityMeta

/**
* @ORM\Table(name="employer_university_meta")
* @ORM\Entity
*/

class UniversityMeta extends EmployerUniversityMetaBase
{ }

使用相同表格的目的是两个实体都有一些雇主和大学的共同字段。为此我为公共字段创建了一个实体类,并在两个实体(雇主和大学)中扩展了相同的类。

这个错误即将发生,因为当它找到了employeemeta类来生成模式时,它会创建表,但是当它进入universitymeta类时,它会显示错误表已经存在。

所以,我的问题如下: 有没有办法在不更改实体类的情况下解决此类问题?任何帮助或任何想法表示赞赏。

0 个答案:

没有答案