カリキュラムで推奨されたreferences型がもう使えなくなっていた

railsは仕様変更が多いんだろうな思った。

 

カリキュラムではreferences型が推奨されていて、それを使ってたワケだが、いつの間にか外部keyの型をreferences型にするとmigrateが通らなくなってたのでメモ。

 

5.1から?自動で作成されるidがbigint型になったからreferencesだとbigintと一致しないってざっくり理解していいと思うんだけど、referencesを単純にbigintにすればmigrate自体はすんなり通る。

 

ただしreferences型と違ってマイグレーションファイルの方は_idを自動で付けてくれるわけではないから自分は_idを付けて回った。なのでモデルの方がそのままで大丈夫っぽいけどマイグレに_idつけ忘れないようにする。ただしこれがベストな方法なのかは知らん。

 

他にも参考にしたけどとりあえず一個リンク貼っとく

https://workout-engineer.com/rails-migration-references/