我在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类时,它会显示错误表已经存在。
所以,我的问题如下: 有没有办法在不更改实体类的情况下解决此类问题?任何帮助或任何想法表示赞赏。