У меня есть два класса:
class BaseIndividualIdentity {
/**
* @JMS\Exclude()
* @ORM\Id
* @ORM\Column(type="integer", nullable=false)
* @ORM\GeneratedValue
*/
protected $id;
/**
* @var IdentityDocument
*
* @ORM\OneToOne(targetEntity="IdentityDocument", orphanRemoval=true, cascade={"persist"})
* @ORM\JoinColumn(name="join_main_identity_document_id", referencedColumnName="id")
*/
protected $mainIdentityDocument;
и
class IndividualIdentity extends BaseIndividualIdentity {
}
Проблема заключается в том, что сгенерированный с помощью symfony / doctrine код postgressql (по doctrine: schema: update) выглядит так:
CREATE TABLE var.base_individual_identity (id INT NOT NULL, join_main_identity_document_id INT DEFAULT NULL, PRIMARY KEY(id));
CREATE TABLE var.individual_identity (id INT NOT NULL, PRIMARY KEY(id));
Аналогичный (ошибочно) результат для mysql.
Код для Individual_identity Мисс join_main_identity_document_id .
Но, например, когда япопытаться сохранить IndividualIdentity я получаю сообщение об ошибке:
An exception occurred while executing 'INSERT INTO var.individual_identity (id, join_main_identity_document_id) VALUES (?, ?)' with params [1, 1]:
SQLSTATE[42703]: Undefined column: 7 ERROR: column "join_main_identity_document_id" of relation "individual_identity" does not exist
Так что в этом контексте кажется, что наследование работает хорошо.Итак, мой вопрос, что я делаю не так?;)