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
こんどはうまくいきました。