我正在开发一个 Rails 应用程序,我需要为 Rails 迁移中的现有列添加一些外键,而且很少有人在做同样的事情。我这样添加:
class AddUserRefToEvents < ActiveRecord::Migration[5.2]
def change
add_foreign_key :events, :users, name: :index_events_on_user_id
end
end
我的一个伙伴正在以这种方式添加:
class AddUserToParts < ActiveRecord::Migration[5.0]
def up
add_reference :parts, :user
end
def down
remove_reference :parts, :user
end
end
当我们使用 SchemaCrawler 构建模式图时,关系是在用户和事件之间建立的(with add_foreign_key
),但用户和部件之间没有关系(when added add_reference
)。
你能告诉我为什么吗?我们可以同时使用(参考这个链接)还是只使用add_foreign_key
?请帮忙。