railsの外部キー記述方法
外部キーとは?
あるテーブル(子テーブル)の列が、別のテーブル(親テーブル)の主キーや一意な列を参照するように設定された制約のこと
railsでの書き方
referencesとadd_foreign_keyの2通りの記述方法がある。
references
外部キーの参照先がidであればこっちの記述方法を用いる。
書き方としては
t.references :[外部キーのあるモデル名],null:[true or false],foreign_key:[true or false]
null:とは値にnullを許容するか設定できる
foreign_key:とは外部キー制約の設定 基本的にはtrue
foreign_key
他のテーブルに対してid以外の列に外部キーを設定したいときに用いる。
書き方は
add_foreign_key :[外部キーを設定するテーブル名],[参照先のテーブル名],column: :[外部キーとして使う列名],primary_key: :[参照先の列名]