我有一个lumen 5.5(MySQL5.7)应用程序,我在数据库迁移中创建了一个唯一索引:
Schema::table('form_data', function (Blueprint $table){
$table->unique(['organisation_id', 'template_id', 'entity_type_id', 'entity_id'], 'form_data_identifier');
// name of the index is 'form_data_identifier'
});
在 down
迁移,我尝试删除索引:
Schema::table('form_data', function (Blueprint $table){
$table->dropUnique('form_data_identifier');
});
但我得到了错误信息:
在connection.php第664行中:sqlstate[hy000]:常规错误:1553无法删除索引“form\u data\u identifier”:外键约束中需要索引(sql:alter table) form_data
删除索引 form_data_identifier
)
我自己也尝试使用这两种方法直接在数据库上运行查询 DROP INDEX x ON y
以及 ALTER TABLE y DROP INDEX x
语法,我得到同样的错误。我查过了,这个索引 form_data_identifier
未被任何其他表或键引用(注意:组成unique键的一些键是外键,但我认为这不是问题。)
我会错过什么?
暂无答案!
目前还没有任何答案,快来回答吧!