いつものようにマイグレーションファイルを作成し、rails db:migrateをしようとしたところ以下のエラーがでた。
Column user_id
on table entries
does not match column id
on users
, which has type bigint(20)
. To resolve this issue, change the type of the user_id
column on entries
to be :bigint. (For example t.bigint :user_id
).
指示通り以下のようにbigintを指定して再度マイグレーションを実施した。
:Migration[5.1]
def change
create_table :entries do |t|
t.references :user, foreign_key: true, type: :bigint //integerからbigintに変更
t.references :room, foreign_key: true
t.timestamps
end
end
end```
しかし、同様のエラーが出現した。
実はこの時3個のマイグレーションファイルを同時に作成しており、上記のマイグレーションファイルを登録するために必要なマイグレーションファイル(room)の作成日時が最後になっていたのでエラーが発生していた。
roomファイルの作成日時をファイル名を変更し、再度rails db:migrateを実行したところ問題なく通った。