2017-09-14 3 views
0

私はbelongs_toと外部キーをレールに混同しています。私たちがレールの移行でbelongs_toを使用すると、親テーブルからアクセスできる子テーブルに外部キーが作成されるようです。しかし、レールのドキュメントでは、両方の列を1つの列に使用する状況があります。belongs_toとは、railsの移行とデータベース構造の中で何を作成するのですか?

create_table :accounts do |t| 
    t.belongs_to :supplier, index: { unique: true }, foreign_key: true 
    # ... 
end 

誰かがこの状況を説明し、belongs_toとforeign_keyについて説明できますか?

答えて

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

+0

t.belongs_to:サプライヤとt.integer:supplier_id? – cengo

関連する問題