2015-12-26 4 views
-1

Я строю свое первое приложение для рельсов. Когда я бегу rails server и перейти на главную страницу, я получаю эту ошибку подсветки линии 2:Ошибка генерации пользовательского генератора

ActiveRecord :: PendingMigrationError

Миграции в ожидании. Чтобы устранить эту проблему, выполните следующую команду: бен/грабли БД: мигрировать RAILS_ENV = развитие

Извлеченные источник (около линии № 392):

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

def load_schema_if_pending! 

Когда я бегу rake db:migrate RAILS_ENV=development я получаю эту ошибку

== 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

Я удалил все в дб/мигрировать, а затем побежал rails g devise user в nd rake db:migrate еще раз. Который возвращает эту ошибку

[email protected]:~/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 
[email protected]:~/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) 

Это вызвано двумя devise_for :users линий в routes.rb. Я удаляю одну строку, запускаю rake db:migrate и снова получаю первую ошибку.

+0

вставьте ваш ** маршрут.rb ** файл. –

+0

проверить эту ссылку http://stackoverflow.com/questions/10301794/difference-between-rake-dbmigrate-dbreset-and-dbschemaload –

+0

@AmitSharma это мои маршруты.rb https://gist.github.com/unident77/ 12984b466a1712a3997b Я пробовал 'rake db: drop', а затем добавлял пользователя и мигрировал, но получаю ту же самую массивную ошибку. – unident77

ответ

0

Возможно, вы случайно испортили свои миграции. Попробуйте удалить db вручную, затем убедитесь, что в ваших миграциях нет никаких ошибок, а затем снова запускайте команды rake db ..... Если в ваших миграциях произошла ошибка, удалите ее или исправьте вручную.

+0

Удалив db вручную, вы имеете в виду использование' rake db: drop'? – unident77

Смежные вопросы