株式会社TECH LUCKという会社で代表兼エンジニアをしている齊藤です。 Railsで外部キーのカラムを追加する際に、reference型を使うことがあると思います。 reference型の使い方に関しては以下のように様々な記事があります。 外部キーをreferences型カラムで保存する Rails4 外部キーをテーブルに設定するための、3通りのマイグレーションの書き方。 しかし、reference型で作成する時はadd_index: true必要なの?foreign_key必要なの? と混乱してしまうので、備忘録のためにまとめておきます。 前提 アプリケーションとしてはTwitterの簡易版で、登録しているユーザーがツイートができるアプリケーションです。 テーブル構造としては user : tweet = 1 : N の関係になっています。 テーブル名はそれぞれ、usersとtwee
![Railsの外部キー制約とreference型について - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/ab1cd3dfc0039a249db03865c633609398cc70b1/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UmFpbHMlRTMlODElQUUlRTUlQTQlOTYlRTklODMlQTglRTMlODIlQUQlRTMlODMlQkMlRTUlODglQjYlRTclQjQlODQlRTMlODElQThyZWZlcmVuY2UlRTUlOUUlOEIlRTMlODElQUIlRTMlODElQTQlRTMlODElODQlRTMlODElQTYmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTIyM2MwMjNmZmIxZmIyZTRlNTIwYzQyOWMwOGVlNDY0%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDByeW91emkmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTE0MjQ0MzUyMDcxMTVjNGY5ZjFkMDNiNmJlMmNlMDMy%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D3caba950a4607d6b67ec80a925a7f5f2)