使用Matthuhiggins foreign_key删除外键?

时间:2010-08-01 02:29:17

标签: ruby-on-rails

使用此gem添加外键约束没有问题:

http://github.com/matthuhiggins/foreigner

但是,我无法删除外键。

class ForeignKeys < ActiveRecord::Migration
  def self.up
    add_foreign_key(:threads, :users)
  end

  def self.down
    remove_foreign_key(:threads, :column => :user_id)
  end
end

有人可以帮助我。

感谢。

2 个答案:

答案 0 :(得分:6)

这是我能想到的最后一件事。

def self.down
    execute 'ALTER TABLE threads DROP FOREIGN KEY user_id'
end

OLD ONE

这些应该有效:)

remove_foreign_key :threads, { :column => :user_id }

remove_foreign_key('threads', 'user_id')

remove_foreign_key(:threads, :user_id)

彼得

答案 1 :(得分:4)

最佳解决方案是

remove_foreign_key :threads, :users

但是,以下内容也应该有效:

remove_foreign_key :threads, :column => :user_id

如果没有,请在我的库中提交错误。