前提
User-Micropost 間に 1:多 のアソシエーションを追加する場合の解説です。
外部キー制約をつける正しい方法
reference 型のカラムで実現するので、以下のように行う。
# Micropost 作成
$ rails generate model Micropost content:string
# 外部キー制約をつける
$ rails generate migration AddUserIdToMicroposts user:references
まとめてやってもよい。
$ rails generate model Micropost content:string user:references
アンチパターン
すでにあるマイグレーションファイル(2018xxxxxxxxxx_create_microposts.tb
とか)に t.integer: user_id
などとベタ書きしてはならない。
それでもUser.first.microposts
とかで取ることはできるが、↑に比べると諸々十分ではない。
そもそも一般に、すでに master に push されたマイグレーションファイルを編集して上げ直すのはよろしくないはず。変更するマイグレーションを新たに作るべし。