以下の内容はhttps://haayaaa.hatenablog.com/entry/2019/12/09/212432より取得しました。


t.referencesとforeign_key: true

 テーブルを作成する際、外部キー周りの設定でt.referencesとforeign_key: trueが何をしてくれるのか・してくれないのか曖昧だったので調べました。

 

 t.references
  • 参照モデル名_idというカラム名で参照モデルのidと紐付けてくれる
  • これだけだと参照にないidでも登録できてしまう

 
foreign_key: :true

  • 外部キー制約をつけてくれる
  • dependent: :destroyつけないと親レコード消せない
  • indexが自動でつくので書かなくていい
  • 親レコードにない値は参照カラムに登録できない
  • 値がNULLでも挿入できてしまうため、別途null: :falseつける必要がある

 

感想その他

細かく把握しておかないといけないなと思いました。

 

 

 




以上の内容はhttps://haayaaa.hatenablog.com/entry/2019/12/09/212432より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14