

初心者です。

rails 4.2.1  
sqlite3 3.6.20  
でdeviseを使いたく、3.4.1をbundle installして、rake db:migrateしてみたのですが、  
アプリケーションエラーが出て上手く動きません。

１：アプリケーションエラーメッセージ  
Migrations are pending. To resolve this issue, run: bin/rake db:migrate
RAILS_ENV=development

２：下記を実行  
bin/rake db:migrate RAILS_ENV=development

３：エラーが出ます。

rake aborted!  
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: duplicate column name: email: ALTER TABLE "users" ADD
"email" varchar DEFAULT '' NOT
NULL/home/.rvm/gems/ruby-2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in
`initialize'  
/home/.rvm/gems/ruby-2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in`new'  
/home/.rvm/gems/ruby-2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in
`prepare'  
/home/.rvm/gems/ruby-2.2.0/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:134:in`execute'

～～～つづく

他の質問とかを見ているとemailカラムが被ってるんじゃない？というエラーのようなのですが、

下記のmigrateファイルや、ＤＢのテーブル自体を見ても「email」というカラムは  
存在しませんでした。

20150503133518_create_lists.rb（もともとのアプリケーションで使っているファイル）  
20150528001224_add_devise_to_users.rb（deviseで生成されたファイル）

* * *

☆色々いじってみた結果

１：エラー自体は、  
20150528001224_add_devise_to_users.rb（deviseで生成されたファイル）  
をmigrateフォルダから削除したら解消します。

２：マイグレーションファイルのemailをemail1に変えたら、次のカラムが同じエラーになりました。

３：  
20150528001224_add_devise_to_users.rb（deviseで生成されたファイル）  
の名前を  
20150428001224_add_devise_to_users.rb

## に変えても結果は変わりませんでした。

ＤＢは存在していない状態なので、なんとなく  
20150528001224_add_devise_to_users.rb（deviseで生成されたファイル）  
の内容とコンフリクトしているファイルがどこかにありそうだな、と思うのですが、  
方向性として間違っていますでしょうか？

回答に必要なファイルなどの開示が出来てないかもしれないですが、  
よろしくお願いいたします。


CC BY-SA 3.0
2015-05-28T01:55:20.030
10703
2018-04-04T01:04:32.920
2017-12-20T08:10:53.780
76
9840
question
ruby-on-rails devise
deviseでdb migrateが上手くいきません。


`rake db:reset` ではどうでしょうか？

一度全てDBを削除してから作り直すコマンドです。  
データベース内の値が全て消えますので注意してください。


CC BY-SA 3.0
2015-05-28T03:39:25.143
10708
2015-05-28T03:39:25.143
3271
10703
answer