我对rails中的belongs_to和外键感到困惑。当我们在rails迁移中使用belongs_to时,它似乎在子表上创建了一个我们可以从父表访问的外键。但是,在rails文档中,有一种情况在一列中同时使用。
create_table :accounts do |t|
t.belongs_to :supplier, index: { unique: true }, foreign_key: true
# ...
end
有人可以解释这种情况并解释一下belongs_to和foreign_key:true究竟是什么?
答案 0 :(得分:1)
t.belongs_to :supplier
将supplier_id
添加到accounts
。
index: { unique: true }
为该列创建database index。
foreign_key: true
为该列创建foreign key constraint。
我建议你阅读Active Record Migrations — Ruby on Rails Guides。
索引可加快数据检索操作。
外键有助于维护referential integrity。