エラー内容
カラムが重複しとるで! それはアカンで!っていうエラー
- $ rails db:migrate
- (最初の)エラーが発生する
- しかし、エラーのはずが、カラムがmigrationされてる。
- もう一度、$ rails db:migrate すると、下記のようなエラーが出る。
- 「なんでやねん!(最初の)エラーで、はじき出されたはずやろ?!」 謎やん!
Terminal.
StandardError: An error has occurred, all later migrations canceled:
Mysql2::Error: Duplicate column name ''
Caused by: ActiveRecord::StatementInvalid: Mysql2::Error: Duplicate column name '': ALTER TABLE `` ADD ``
Caused by: Mysql2::Error: Duplicate column name 'likes_count'
解決策
####こういうときは migration ファイルを空にすればえーで!
<現状>
20190118141743_add_nickname_to_users.rb
class AddNicknameToUsers < ActiveRecord::Migration[5.0]
def change
add_column :users, :nickname, :integer
end
end
↓
<これに変える>
20190118141743_add_nickname_to_users.rb
class AddNicknameToUsers < ActiveRecord::Migration[5.0]
def change
# ココを空欄にする!!
end
end
- Save
- $ rails db:migrate
すると、
== 20190118141743 AddNicknameToUsers: migrating ============================
== 20190118141743 AddNicknameToUsers: migrated (0.0000s) ===================
migration成功!!
そのあと、下記の通りに戻しておく!
20190118141743_add_nickname_to_users.rb
class AddNicknameToUsers < ActiveRecord::Migration[5.0]
def change
add_column :users, :nickname, :integer
end
end
以降、$ rails db:migrate してもエラーでぇ〜へんやろ??
参考URL