有没有人注意到这个?
每当模型使用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)
如果其他人正面对这个,我会记录一个错误。感谢
答案 0 :(得分:0)
我自己也遇到过这个问题。好像doctrine:build-sql
似乎是错误的。
我在调查时发现的一个更疯狂的事情是doctrine:insert-sql
甚至不使用schema.sql 。它根据模型定义动态生成并运行SQL。
看起来这是一个已知的错误,并且不会在Doctrine 1中修复: