-1

I'm building my first rails app. When I run rails server and go to the home page, I get this error highlighting line 2:

ActiveRecord::PendingMigrationError

Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development

Extracted source (around line #392):

def check_pending!(connection = Base.connection)
  raise ActiveRecord::PendingMigrationError if ActiveRecord::Migrator.needs_migration?(connection)
end

def load_schema_if_pending!

When I run rake db:migrate RAILS_ENV=development I get this error

== 20151226141424 AddDeviseToUsers: migrating =================================
-- change_table(:users)
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/var/lib/gems/2.2.0/gems/sqlite3-1.3.11/lib/sqlite3/database.rb:91:in `initialize'

Full text

I deleted everything in db/migrate, then ran rails g devise user and rake db:migrate again. Which returns this error

user@ubuntu:~/dev/ruby/rails/pinterested$ rails g devise user
      invoke  active_record
      create    db/migrate/20151226145516_add_devise_to_users.rb
      insert    app/models/user.rb
       route  devise_for :users
user@ubuntu:~/dev/ruby/rails/pinterested$ rake db:migrate
rake aborted!
ArgumentError: Invalid route name, already in use: 'new_user_session' 
You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here: 
http://guides.rubyonrails.org/routing.html#restricting-the-routes-created
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:549:in `add_route'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1562:in `add_route'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1537:in `decomposed_match'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1535:in `block in decomposed_match'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1420:in `block (2 levels) in member'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:817:in `scope'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1420:in `block in member'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1666:in `with_scope_level'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1416:in `member'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1535:in `decomposed_match'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1518:in `block in match'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1508:in `each'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1508:in `match'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:690:in `map_method'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:651:in `get'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:374:in `block in devise_session'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1199:in `block in resource'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1677:in `block (2 levels) in resource_scope'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:817:in `scope'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1677:in `block in resource_scope'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1666:in `with_scope_level'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1676:in `resource_scope'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:1198:in `resource'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:373:in `devise_session'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:263:in `block (4 levels) in devise_for'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:263:in `each'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:263:in `block (3 levels) in devise_for'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:461:in `with_devise_exclusive_scope'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:262:in `block (2 levels) in devise_for'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:365:in `block in devise_scope'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:941:in `block in constraints'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:817:in `scope'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/mapper.rb:941:in `constraints'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:364:in `devise_scope'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:261:in `block in devise_for'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:237:in `each'
/var/lib/gems/2.2.0/gems/devise-3.5.3/lib/devise/rails/routes.rb:237:in `devise_for'
/home/user/dev/ruby/rails/pinterested/config/routes.rb:3:in `block in <top (required)>'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:434:in `instance_exec'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:434:in `eval_block'
/var/lib/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/routing/route_set.rb:412:in `draw'
/home/user/dev/ruby/rails/pinterested/config/routes.rb:1:in `<top (required)>'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `block in load'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in `load'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `each'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:40:in `load_paths'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:16:in `reload!'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:26:in `block in updater'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/file_update_checker.rb:75:in `call'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/file_update_checker.rb:75:in `execute'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:27:in `updater'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `instance_exec'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:30:in `run'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:55:in `block in run_initializers'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/initializable.rb:54:in `run_initializers'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application.rb:352:in `initialize!'
/home/user/dev/ruby/rails/pinterested/config/environment.rb:5:in `<top (required)>'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `block in require'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:240:in `load_dependency'
/var/lib/gems/2.2.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application.rb:328:in `require_environment!'
/var/lib/gems/2.2.0/gems/railties-4.2.5/lib/rails/application.rb:457:in `block in run_tasks_blocks'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

It's caused by two devise_for :users lines in routes.rb. I delete one line, run rake db:migrate, and get the first error again.

unident77
  • 35
  • 4
  • please paste your **routes.rb** file. – Amit Sharma Dec 26 '15 at 20:21
  • check this link http://stackoverflow.com/questions/10301794/difference-between-rake-dbmigrate-dbreset-and-dbschemaload – Amit Sharma Dec 26 '15 at 20:25
  • @AmitSharma this is my routes.rb https://gist.github.com/unident77/12984b466a1712a3997b I tried `rake db:drop`, then adding a user and migrating but I get that same massive error – unident77 Dec 29 '15 at 00:48

1 Answers1

0

Probably you've accidentally spoiled your migrations. Try removing the db manually, then make sure there's no any error in your migrations and then run rake db.... commands all over again. If there's an error in your migrations, remove one or fix it manually.

Incerteza
  • 32,326
  • 47
  • 154
  • 261