#分からないこと、解決したいこと
本番環境で rails db:migrate RAILS_ENV=production
をしたところエラーが出るので、その問題を解決してデプロイをしたく思っております。
ローカル環境ではエラーが出ず正常に db:migrate
ができます。
一度データベースを drop してもう一度 rails db:create RAILS_ENV=production
をして rails db:migrate RAILS_ENV=production
試してみたが解決できず解決方法が分からない状況でございます。
- AWSを使用
- rails 2.5.1
ターミナルのエラーメッセージ
-- create_table(:questions) rails aborted! StandardError: An error has occurred, all later migrations canceled: Mysql2::Error: Cannot add foreign key constraint: CREATE TABLE `questions` (`id` int AUTO_INCREMENT PRIMARY KEY, `content` varchar(255), `group_id` int, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, INDEX `index_questions_on_group_id` (`group_id`), CONSTRAINT `fk_rails_d67ab57313` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ) ENGINE=InnoDB /var/www/self-analysis/db/migrate/2020071063612_create_questions.rb:3:in `change' /var/www/self-analysis/bin/rails:9:in `require' /var/www/self-analysis/bin/rails:9:in `<top (required)>' /var/www/self-analysis/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: ActiveRecord::StatementInvalid: Mysql2::Error: Cannot add foreign key constraint: CREATE TABLE `questions` (`id` int AUTO_INCREMENT PRIMARY KEY, `content` varchar(255), `group_id` int, `created_at` datetime NOT NULL, `updated_at` datetime NOT NULL, INDEX `index_questions_on_group_id` (`group_id`), CONSTRAINT `fk_rails_d67ab57313` FOREIGN KEY (`group_id`) REFERENCES `groups` (`id`) ) ENGINE=InnoDB /var/www/self-analysis/db/migrate/2020071063612_create_questions.rb:3:in `change' /var/www/self-analysis/bin/rails:9:in `require' /var/www/self-analysis/bin/rails:9:in `<top (required)>' /var/www/self-analysis/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Mysql2::Error: Cannot add foreign key constraint /var/www/self-analysis/db/migrate/2020071063612_create_questions.rb:3:in `change' /var/www/self-analysis/bin/rails:9:in `require' /var/www/self-analysis/bin/rails:9:in `<top (required)>' /var/www/self-analysis/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Tasks: TOP => db:migrate (See full trace by running task with --trace)
エラーメッセージにて指定されているマイグレーションファイル
class CreateQuestions < ActiveRecord::Migration[5.0] def change create_table :questions do |t| t.string :content t.references :group, foreign_key: true t.timestamps end end end
外部キーとして指定している grouos のマイグレーションファイル
class CreateGroups < ActiveRecord::Migration[5.0] def change create_table :groups do |t| t.string :file t.timestamps end end end
個人の力でどうしても解決ができずに困っている為、アドバイスなどいただけませんでしょうか?
よろしくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。