###前提・実現したいこと
Ruby on Railsで、既存のテーブルに新しいカラムを追加しようとしたところ、エラーが出ました。解決にご協力お願いいたします。
###発生している問題・エラーメッセージ
テーブルにカラムを追加しようとしたところ、おそらくすでにあるカラムを追加しようとしたことがきっかけでpendingがおきました。よくわからずrake db:rollbackなどを試し、現在はActiveRecord::PendingMigrationErrorが出ています。
エラーメッセージ
ターミナルでは
== 20170504074429 AddGroupNameToActivities: migrating =========================
-- add_column(:activities, :Group_name, :text)
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
Mysql2::Error: Duplicate column name 'Group_name': ALTER TABLE activities
ADD Group_name
text
/Users/hikari/Desktop/mdp/db/migrate/20170504074429_add_group_name_to_activities.rb:3:in change' -e:1:in
<main>'
ActiveRecord::StatementInvalid: Mysql2::Error: Duplicate column name 'Group_name': ALTER TABLE activities
ADD Group_name
text
/Users/hikari/Desktop/mdp/db/migrate/20170504074429_add_group_name_to_activities.rb:3:in change' -e:1:in
<main>'
Mysql2::Error: Duplicate column name 'Group_name'
/Users/hikari/Desktop/mdp/db/migrate/20170504074429_add_group_name_to_activities.rb:3:in change' -e:1:in
<main>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)
localhostでの画面上では
ActiveRecord::PendingMigrationError
Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development
Extracted source (around line #392):
390
391
392
393
394
395
def check_pending!(connection = Base.connection) raise ActiveRecord::PendingMigrationError if ActiveRecord::Migrator.needs_migration?(connection) end def load_schema_if_pending
###該当のソースコード
migrate file は
class AddGroupNameToActivities < ActiveRecord::Migration
def change
add_column :activities, :Group_name, :text
end
end
です。間違えてもともとあるカラムと同じものを追加しようとしてしまいました。
###試したこと
ActiveRecord::PendingMigrationErrorというエラーが出たので、間違ってrake db:rollbackをしました。
ですが、同じpending のエラーが出たので、もう一度同じようにカラムを追加(rails g migration AddGroup_nameToActivities Group_name:text)してrake db:migrateをしたり、bin/rake db:migrate RAILS_ENV=developmentをしたりしたのですが、エラーから抜けられません。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/04 14:49
2017/05/04 14:53
2017/05/05 01:26 編集