Доктрина: модели с наследованием column_aggregation дважды появляются в SQL

Кто-нибудь это заметил?

Всякий раз, когда модель использует column_aggregation (наследование), schema.sql имеет 2 команды CREATE TABLE, одна создает базовую таблицу, а другая (кроме полей) добавляет индекс для столбца наследования.

CREATE TABLE Prop (id INT AUTO_INCREMENT, opt_property_type SMALLINT UNSIGNED DEFAULT 251 NOT NULL, property_nature VARCHAR(255), INDEX opt_property_type_idx (opt_property_type), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;

CREATE TABLE Prop (id INT AUTO_INCREMENT, opt_property_type SMALLINT UNSIGNED DEFAULT 251 NOT NULL, property_nature VARCHAR(255), INDEX Prop_property_nature_idx (property_nature), INDEX opt_property_type_idx (opt_property_type), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB;

Обратите внимание на включение INDEX Prop_property_nature_idx (property_nature) во втором утверждении

Если кто-то еще сталкивается с этим, я буду регистрировать ошибку. Спасибо

1 ответ

Я только что столкнулся с этим сам. Это похоже на doctrine:build-sql глючит

Одна из самых сумасшедших вещей, которые я обнаружил во время расследования, это то, что doctrine:insert-sql даже не использует schema.sql. Он динамически генерирует и запускает SQL на основе определений модели.

Похоже, это известная ошибка, которая не будет исправлена ​​в Доктрине 1:

Другие вопросы по тегам