Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

rake db:migrateでDuplicate column name 'email': ALTER TABLE `admin_users`と言われました。

More than 3 years have passed since last update.

Railsのプロジェクトにactiveadminを新しく入れようとしています。

rake db:migrateでエラー

bundle exec rake db:migrate

略

Migrating to AddDeviseToAdminUsers (20160714141618)
== 20160714141618 AddDeviseToAdminUsers: migrating ============================
-- change_table(:admin_users)
   (6.7ms)  ALTER TABLE `admin_users` ADD `email` varchar(255) DEFAULT '' NOT NULL
   (0.3ms)  SELECT RELEASE_LOCK('5237447081854824375')
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: Duplicate column name 'email': ALTER TABLE `admin_users` ADD `email` varchar(255) DEFAULT '' NOT NULL

略

以前activeadminを入れていたのでadmin_usersテーブルがすでに存在しています。
そこにまたadmin_usersを作成するマイグレーションファイルが追加され実行されたためにエラーがでています。

admin_usersテーブルを削除

rollbackしたほうが良いと参考ページに有りましたが、どうせ新しく入るのでMySQLからdropしました。

mysql -u root
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 15
Server version: 5.5.47-MariaDB MariaDB Server

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> use pugiemonn_com;
MariaDB [pugiemonn_com]> drop table admin_users;

再度 rake db:migrate

こんどはうまくいきました。

参考

http://stackoverflow.com/questions/7453981/devise-rake-dbmigrate-fails-because-of-duplicate-column-in-my-users-table-ra

pugiemonn
GoogleTagManagerを利用してGAを操るようなマーケターとしてお仕事しています
pugiemonn_com
pugiemonn.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away