分からないこと、解決したいこと
rails db:migrate
をすると以下のエラーが出る為解決したい。
== 20200710063612 CreateQuestions: migrating ================================== -- create_table(:questions) rails aborted! StandardError: An error has occurred, all later migrations canceled: Index name 'index_questions_on_group_id' on table 'questions' already exists /Users/okazakikeisuke/projects/self-analysis/db/migrate/20200710063612_create_questions.rb:3:in `change' /Users/okazakikeisuke/projects/self-analysis/bin/rails:9:in `require' /Users/okazakikeisuke/projects/self-analysis/bin/rails:9:in `<top (required)>' /Users/okazakikeisuke/projects/self-analysis/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: ArgumentError: Index name 'index_questions_on_group_id' on table 'questions' already exists /Users/okazakikeisuke/projects/self-analysis/db/migrate/20200710063612_create_questions.rb:3:in `change' /Users/okazakikeisuke/projects/self-analysis/bin/rails:9:in `require' /Users/okazakikeisuke/projects/self-analysis/bin/rails:9:in `<top (required)>' /Users/okazakikeisuke/projects/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)
以前は正常にrails db:migrate
ができていたのだが、本番環境でdb:migrate
ができなかった為ローカルで再度確認してみたところこのようなエラーが出した。
該当するコード
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
class CreateGroups < ActiveRecord::Migration[5.0] def change create_table :groups do |t| t.string :file t.timestamps end end end
class DeviseCreateUsers < ActiveRecord::Migration[5.0] def change create_table :users do |t| t.string :name, null: false t.string :email, null: false, default: "" t.string :encrypted_password, null: false, default: "" t.string :reset_password_token t.datetime :reset_password_sent_at t.datetime :remember_created_at t.timestamps null: false end add_index :users, :name, unique: true add_index :users, :email, unique: true add_index :users, :reset_password_token, unique: true end end
rails db:migrate:status
の結果になります。
Status Migration ID Migration Name -------------------------------------------------- up 20200603063609 Devise create users up 20200605052910 Create answers up 20200609074008 Create questions users up 20200709081938 Create groups down 20200710063612 Create questions
様々な記事を調べてみたのですが、解決することができずに困っております。
解決策が分かる方がおられましたら、アドバイスなどいただけますと嬉しく思います。
何卒よろしくお願いいたします。
- rails 2.5.1
- mysql
回答1件
あなたの回答
tips
プレビュー