首页 > 解决方案 > 使用 Rails 迁移删除外键列

问题描述

我只是想从表中删除一个外键列。我在迁移中有这个:

def change
  remove_column :addresses, :contact_id
end  

但是,我收到以下错误:

Mysql2::Error: Cannot drop index 'index_addresses_on_contact_id': 外键约束中需要:ALTER TABLE addressesDROP contact_id

那么如何在 Rails 迁移中删除这个外键约束呢?

标签: ruby-on-rails

解决方案


尝试...

def change
  remove_reference :addresses, :contact, index: true, foreign_key: true
end

推荐阅读