前提
ここに質問の内容を詳しく書いてください。
(例)
Rubyでフリマアプリを作っています。
ターミナルで% heroku run rails db:migrate←こちらのコマンドを使いherokuサーバでのマイグレーションステータスを出力しようとしたところ以下のエラーメッセージが発生しました。
実現したいこと
- herokuサーバでのマイグレーションステータスを出力したい
発生している問題・エラーメッセージ
Mysql2::Error: Table 'heroku_6ab0b7403418702.purchases' doesn't exist ・ログ省略 Caused by: ActiveRecord::StatementInvalid: Mysql2::Error: Table 'heroku_6ab0b7403418702.purchases' doesn't exist ・ログ省略 Caused by: Mysql2::Error: Table 'heroku_6ab0b7403418702.purchases' doesn't exist ・ログ省略 Caused by: Mysql2::Error: Cannot add foreign key constraint ・ログ省略
該当のソースコード
Ruby
1class CreatePurchases < ActiveRecord::Migration[6.0] 2 def change 3 create_table :purchases do |t| 4 t.references :item, foreign_key: true 5 t.references :user, foreign_key: true 6 7 t.timestamps 8 end 9 end 10end
% heroku run rails db:migrate:status Running rails db:migrate:status on ⬢ furima-37952... up, run.2880 (Free) database: heroku_6ab0b7403418702 Status Migration ID Migration Name -------------------------------------------------- D, [2022-10-07T14:03:20.419276 #4] DEBUG -- : (1.4ms) SELECT `schema_migrations`.`version` FROM `schema_migrations` ORDER BY `schema_migrations`.`version` ASC up 20220904065018 Devise create users up 20220917102125 Create items up 20220917110923 Create active storage tablesactive storage down 20220927030354 Create addresses down 20220927030514 Create purchases
% rails db:migrate:status database: furima_37952_development Status Migration ID Migration Name -------------------------------------------------- up 20220904065018 Devise create users up 20220917102125 Create items up 20220917110923 Create active storage tablesactive storage up 20220927030354 Create addresses up 20220927030514 Create purchases shinoharakaito@shinohaitonoAir furima-37952 %
試したこと
Mysql2::Error: Cannot add foreign key constraint
上記のエラーから、マイグレーションファイルのPurchasesに記載してあるforeign_key: trueが悪さをしているのではないか?と考えております。
補足情報(FW/ツールのバージョンなど)
migrate:status コマンドからローカルでは全てupでうまくいっているのに対し、heroku環境では2つdownという結果になっていることが正直、訳わからなく困っています。
すいませんが詳しい方、教えていただけると幸いです。
Mysql2::Error: Cannot add foreign key constraint
このエラーが出たときのエラーメッセージ全文を載せてください
回答2件
あなたの回答
tips
プレビュー