こんにちは。
私、末端冷え性で年がら年中、手先、足先が冷たい。
どうもハチマキです。
はじめに
rails db:migrateする際に、Mysql2::Error: Duplicate column nameエラーが発生し、migrateが出来ない問題が発生しました。今回はこの解決方法に関して書いていきたいと思います。
では早速行きましょう!
本日の概要 : Mysql2::Error: Duplicate column nameの解決方法
エラー例
$ bundle exec rails db:migrate == AddカラムToテーブル: migrating ================================== -- add_column(:テーブル名, :カラム名, :string) rake aborted! Mysql2::Error: Duplicate column name 'カラム名' ・ ・ ・ ・
原因
結論、カラムの重複が原因です。(※僕の場合、一度migrateしてrollbackしたことが原因で発生しました)
解決方法
やることはたったの2つ!
1. migrateしたいファイルを一度空にし、$ rails db:migrateする
class AddカラムToテーブル < ActiveRecord::Migration def change # 空にする end end
上記のように空に書き換えて$ rails db:migrate を実行する
$ bundle exec rails db:migrate == AddカラムToテーブル: migrating ================================== == AddカラムToテーブル: migrated (0.0000s) =========================
2. migrateしたい状態に戻し、$ rails db:migrateを実行する
class AddカラムToテーブル < ActiveRecord::Migration def change add_column :テーブル名, :カラム名, :string end end
$ bundle exec rails db:migrate
これで成功するはずです!