#前提・実現したいこと
publisher_idカラムが重複してしまっているとの事。
######関係しているかは分からないですが今起こっている事です。
↓↓↓
userマイグレーションファイルはあるのにuserテーブルは反映されていない。
rails cができない。
######バージョン
ruby '2.6.6'
gem 'rails', '> 6.0.3', '>= 6.0.3.2'> 0.4.2'
gem 'mysql2', '
#発生している問題・エラーメッセージ
ターミナルに出たエラー↓
-- add_reference(:books, :publisher, {:foreign_key=>true}) rails aborted! StandardError: An error has occurred, all later migrations canceled: Mysql2::Error: Duplicate column name 'publisher_id' /Users/7tk/projects/books-management/db/migrate/20200731052741_add_publisher_id_to_books.rb:3:in `change' /Users/7tk/projects/books-management/bin/rails:9:in `<top (required)>' /Users/7tk/projects/books-management/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: ActiveRecord::StatementInvalid: Mysql2::Error: Duplicate column name 'publisher_id' /Users/7tk/projects/books-management/db/migrate/20200731052741_add_publisher_id_to_books.rb:3:in `change' /Users/7tk/projects/books-management/bin/rails:9:in `<top (required)>' /Users/7tk/projects/books-management/bin/spring:15:in `<top (required)>' bin/rails:3:in `load' bin/rails:3:in `<main>' Caused by: Mysql2::Error: Duplicate column name 'publisher_id' /Users/7tk/projects/books-management/db/migrate/20200731052741_add_publisher_id_to_books.rb:3:in `change' /Users/7tk/projects/books-management/bin/rails:9:in `<top (required)>' /Users/7tk/projects/books-management/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)
localhost:3000でブラウザに出たエラー↓
StandardError An error has occurred, all later migrations canceled: Mysql2::Error: Duplicate column name 'publisher_id'
#該当のソースコード
どれか分からなかったのでいくつか載せました。
該当してそうなものを載せました。
class CreateBooks < ActiveRecord::Migration[6.0] def change create_table :books do |t| t.string :name t.date :published_on t.integer :price t.timestamps end end end
class AddPublisherIdToBooks < ActiveRecord::Migration[6.0] def change add_reference :books, :publisher, foreign_key: true change_column :books, :publisher_id, :integer, null: false end end
反映されていないuserマイグレーションファイル
↓↓↓
class CreateUsers < ActiveRecord::Migration[6.0] def change create_table :users do |t| t.string :name t.string :password t.string :email t.timestamps end end end
#自分で調べたことや試したこと
以前、重複しているものをコピーして一度消し、rails db:migrateをすると上手くいっていたのですが今回もそれをしたところ解決できませんでした。
他にも検索して出て来たものは試しました。
わかる方がいらっしゃいましたらよろしくお願いします。
回答3件
あなたの回答
tips
プレビュー