我有一个Lumen 5.5(MySQL 5.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_data_identifier':在外键约束中需要(SQL:alter table
form_data
删除索引form_data_identifier
)
我尝试使用DROP INDEX x ON y
和ALTER TABLE y DROP INDEX x
语法直接在数据库上直接运行查询,但遇到相同的错误。我已经检查过了,该索引form_data_identifier
未被任何其他表或键引用。 (请注意:组成唯一键的某些键是外键,但我认为这不是问题。)
我可能会缺少什么?