Может ли Doctrine использовать псевдонимы для столбцов? - PullRequest
0 голосов
/ 09 февраля 2019

У меня есть существующая схема SQL, которая использует стратегию супертипа / подтипа, и я пытаюсь скопировать ее с Doctrine, используя наследование таблиц классов.

Я думаю, что у меня все работает, кроме ConcreteChild_1_2, которыйтребует, чтобы foo был уникальным для данного account_id.

Я не верю, что возможно создать уникальный индекс, который включает столбцы из нескольких таблиц, верно?

Следовательно,чтобы применить это правило, я добавил account_id к ConcreteChild_1_2 и поместил в него соответствующий уникальный индекс, однако Doctrine жалуется, что столбец дублирован.

Нужно ли будет переименовывать ConcreteChild_1_2.account_id во что-то вродеConcreteChild_1_2.account_id_contraint_enforcer или я могу заставить Doctrine использовать псевдоним для account_id, чтобы имя таблицы SQL оставалось account_id?

  • AbstractParent (идентификатор PK, поля account_id)
  • AbstractChild_1 (идентификатор PK 1-в-1 FK для AbstractParent.id)
  • AbstractChild_2 (идентификатор PK 1-в-1 FK в AbstractParent.id)
  • ConcreteChild_1_1 (идентификатор PK 1-to-1 FK to AbstractChild1.id)
  • ConcreteChild_1_2 (PK ID 1-к-1 от FK до AbstractChild1.id, поля account_id, foo)
...