RailsによるアジャイルWebアプリケーション開発第8章~追記

本ではデータベースの定義において外部キーを設定していますが、migrationでは外部キーを設定できません。

また設定する必要はなくて belongs:to()でrailsに従属関係を伝えて product_id のように[参照されるテーブル名の単数形]_id の形で書けば外部キーとなるということです。

これだとデータベースだけを見た場合関係がわからなくなるけど、railsが理解できるから良いということですね。