belongs_to在rails迁移和数据库结构中创建了什么?

时间:2017-09-14 19:08:38

标签: ruby-on-rails database-design rails-migrations

我对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究竟是什么?

1 个答案:

答案 0 :(得分:1)

t.belongs_to :suppliersupplier_id添加到accounts

index: { unique: true }为该列创建database index

foreign_key: true为该列创建foreign key constraint

我建议你阅读Active Record Migrations — Ruby on Rails Guides

索引可加快数据检索操作。

外键有助于维护referential integrity