使用 Rails 迁移删除外键列

Don*_*ato 7 ruby-on-rails

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

def change
  remove_column :addresses, :contact_id
end  
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下错误:

Mysql2::Error: 无法删除索引 'index_addresses_on_contact_id': 需要外键约束:ALTER TABLE addressesDROP contact_id

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

Mar*_*itt 10

尝试...

def change
  remove_reference :addresses, :contact, index: true, foreign_key: true
end
Run Code Online (Sandbox Code Playgroud)