Doctrine:具有column_aggregation继承的模型在SQL中出现两次

时间:2011-05-22 10:45:16

标签: sql inheritance symfony1 doctrine column-aggregation

有没有人注意到这个?

每当模型使用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 个答案:

答案 0 :(得分:0)

我自己也遇到过这个问题。好像doctrine:build-sql似乎是错误的。

我在调查时发现的一个更疯狂的事情是doctrine:insert-sql 甚至不使用schema.sql 。它根据模型定义动态生成并运行SQL。

看起来这是一个已知的错误,并且不会在Doctrine 1中修复: