【问题标题】:RoR Rake migration doesn't succeedRoR Rake 迁移不成功
【发布时间】:2015-01-27 14:11:24
【问题描述】:

我正在尝试在 RoR 上执行 rake db:migrate。但是,在运行命令后,我收到以下错误(我也包含了跟踪)。能告诉我怎么卖吗?我试图回滚并重复该过程,但它不起作用....:

Malions-MacBook-Air:omrails malionhoxhallari$ rake db:migrate --trace
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:migrate
== 20141128222329 AddDeviseToUsers: migrating =================================
-- change_table(:users)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

SQLite3::SQLException: no such table: users: ALTER TABLE "users" ADD "email" varchar(255) DEFAULT '' NOT NULL/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `initialize'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `new'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `prepare'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:134:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:334:in `block in execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activesupport-4.1.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:334:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_statements.rb:375:in `add_column'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:457:in `add_column'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:490:in `block (3 levels) in <class:Table>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:489:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:489:in `block (2 levels) in <class:Table>'
/Users/malionhoxhallari/code/omrails/db/migrate/20141128222329_add_devise_to_users.rb:5:in `block in up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_statements.rb:349:in `change_table'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:in `block in method_missing'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in `block in say_with_time'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in `say_with_time'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:641:in `method_missing'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:406:in `method_missing'
/Users/malionhoxhallari/code/omrails/db/migrate/20141128222329_add_devise_to_users.rb:3:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:558:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:598:in `exec_migration'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:579:in `block (2 levels) in migrate'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:578:in `block in migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in `with_connection'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:577:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:752:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:991:in `block in execute_migration_in_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in `block in ddl_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/transactions.rb:208:in `transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in `ddl_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:990:in `execute_migration_in_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:952:in `block in migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:785:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:240:in `call'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:240:in `block in execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:235:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:235:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:165:in `invoke'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:156:in `invoke_task'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `block (2 levels) in top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `block in top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:121:in `run_with_threads'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:106:in `top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:84:in `block in run'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:182:in `standard_exception_handling'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:79:in `run'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/bin/rake:33:in `<top (required)>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/rake:23:in `load'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/rake:23:in `<main>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `eval'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `<main>'
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table: users: ALTER TABLE "users" ADD "email" varchar(255) DEFAULT '' NOT NULL
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `initialize'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `new'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `prepare'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:134:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:334:in `block in execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activesupport-4.1.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:334:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_statements.rb:375:in `add_column'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:457:in `add_column'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:490:in `block (3 levels) in <class:Table>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:489:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:489:in `block (2 levels) in <class:Table>'
/Users/malionhoxhallari/code/omrails/db/migrate/20141128222329_add_devise_to_users.rb:5:in `block in up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_statements.rb:349:in `change_table'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:in `block in method_missing'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in `block in say_with_time'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in `say_with_time'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:641:in `method_missing'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:406:in `method_missing'
/Users/malionhoxhallari/code/omrails/db/migrate/20141128222329_add_devise_to_users.rb:3:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:558:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:598:in `exec_migration'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:579:in `block (2 levels) in migrate'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:578:in `block in migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in `with_connection'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:577:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:752:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:991:in `block in execute_migration_in_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in `block in ddl_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/transactions.rb:208:in `transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in `ddl_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:990:in `execute_migration_in_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:952:in `block in migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:785:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:240:in `call'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:240:in `block in execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:235:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:235:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:165:in `invoke'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:156:in `invoke_task'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `block (2 levels) in top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `block in top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:121:in `run_with_threads'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:106:in `top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:84:in `block in run'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:182:in `standard_exception_handling'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:79:in `run'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/bin/rake:33:in `<top (required)>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/rake:23:in `load'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/rake:23:in `<main>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `eval'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `<main>'
SQLite3::SQLException: no such table: users
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `initialize'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `new'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:91:in `prepare'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/sqlite3-1.3.10/lib/sqlite3/database.rb:134:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:334:in `block in execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:373:in `block in log'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activesupport-4.1.8/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract_adapter.rb:367:in `log'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:334:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_statements.rb:375:in `add_column'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/sqlite3_adapter.rb:457:in `add_column'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:490:in `block (3 levels) in <class:Table>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:489:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_definitions.rb:489:in `block (2 levels) in <class:Table>'
/Users/malionhoxhallari/code/omrails/db/migrate/20141128222329_add_devise_to_users.rb:5:in `block in up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/schema_statements.rb:349:in `change_table'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:649:in `block in method_missing'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in `block in say_with_time'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:621:in `say_with_time'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:641:in `method_missing'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:406:in `method_missing'
/Users/malionhoxhallari/code/omrails/db/migrate/20141128222329_add_devise_to_users.rb:3:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:558:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:598:in `exec_migration'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:579:in `block (2 levels) in migrate'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:578:in `block in migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/connection_pool.rb:294:in `with_connection'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:577:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:752:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:991:in `block in execute_migration_in_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in `block in ddl_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/transactions.rb:208:in `transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:1037:in `ddl_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:990:in `execute_migration_in_transaction'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:952:in `block in migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:948:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:807:in `up'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/migration.rb:785:in `migrate'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/activerecord-4.1.8/lib/active_record/railties/databases.rake:34:in `block (2 levels) in <top (required)>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:240:in `call'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:240:in `block in execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:235:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:235:in `execute'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/malionhoxhallari/.rvm/rubies/ruby-2.1.5/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/task.rb:165:in `invoke'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:156:in `invoke_task'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `block (2 levels) in top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `each'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:112:in `block in top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:121:in `run_with_threads'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:106:in `top_level'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:84:in `block in run'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:182:in `standard_exception_handling'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/lib/rake/application.rb:79:in `run'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/gems/rake-10.4.0/bin/rake:33:in `<top (required)>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/rake:23:in `load'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/rake:23:in `<main>'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `eval'
/Users/malionhoxhallari/.rvm/gems/ruby-2.1.5/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => db:migrate

【问题讨论】:

  • 欢迎来到 SO。对于这样的问题,您可能会在更多的上下文中得到更多/更好的答案。这是第一次迁移吗?数据库是否已经存在?你的schema.rb 和迁移是什么样的?
  • 嗨。感谢您的快速回复。我没有 schema.db 文件。

标签: ruby-on-rails sqlite rake


【解决方案1】:

您是否按照设计自述文件 (https://github.com/plataformatec/devise) 中的所有步骤操作?

确保你跑了:

rails g devise:install

rails g devise User

迁移之前。

由于跟踪的第一部分显示: SQLite3::SQLException: no such table: users 所以我要做的第一件事是检查迁移文件和 schema.rb 以查看您是否正确创建了 users 表。

这是一个使用 Devise 的工作 schema.rb 和迁移示例:

schema.rb:

create_table "users", force: true do |t|
t.string   "email",                  default: "", null: false
t.string   "encrypted_password",     default: "", null: false
t.string   "reset_password_token"
t.datetime "reset_password_sent_at"
t.datetime "remember_created_at"
t.integer  "sign_in_count",          default: 0,  null: false
t.datetime "current_sign_in_at"
t.datetime "last_sign_in_at"
t.inet     "current_sign_in_ip"
t.inet     "last_sign_in_ip"
t.datetime "created_at"
t.datetime "updated_at"
t.string   "role"
end

更新架构的相应迁移:

class DeviseCreateUsers < ActiveRecord::Migration
def change
create_table(:users) do |t|
  ## Database authenticatable
  t.string :email,              null: false, default: ""
  t.string :encrypted_password, null: false, default: ""

  ## Recoverable
  t.string   :reset_password_token
  t.datetime :reset_password_sent_at

  ## Rememberable
  t.datetime :remember_created_at

  ## Trackable
  t.integer  :sign_in_count, default: 0, null: false
  t.datetime :current_sign_in_at
  t.datetime :last_sign_in_at
  t.inet     :current_sign_in_ip
  t.inet     :last_sign_in_ip

  ## Confirmable
  # t.string   :confirmation_token
  # t.datetime :confirmed_at
  # t.datetime :confirmation_sent_at
  # t.string   :unconfirmed_email # Only if using reconfirmable

  ## Lockable
  # t.integer  :failed_attempts, default: 0, null: false 
  # t.string   :unlock_token # Only if unlock strategy is :email or :both
  # t.datetime :locked_at


  t.timestamps
end

add_index :users, :email,                unique: true
add_index :users, :reset_password_token, unique: true
# add_index :users, :confirmation_token,   unique: true
# add_index :users, :unlock_token,         unique: true
end
end

【讨论】:

  • 嗨。如果我没有 schema.rb 文件怎么办?几个小时前我手动删除了文件...
  • @user3768997 没关系。该文件与您的错误无关。 Dallison 建议检查它以查看您的表是否存在,因为该文件在迁移时得到更新。您可以使用rake db:schema:dump 重新生成它。然而,更直接的方法是简单地查看数据库本身。您可能在某处错过了迁移,或者您不小心删除了该表。
  • 抱歉造成混淆...迁移文件将在架构之前生成(迁移会更新您的 schema.rb 文件,作为旁注,切勿编辑您的 schema.rb)。通常 rails g devise 用户创建迁移文件,然后运行 ​​rake db:migrate 应该会成功运行。
  • 嗨。 schema.rb 中唯一的一行如下: ActiveRecord::Schema.define(version: 0) end 运行 migrate 后不应该更新 schema.db 吗?
  • 如果迁移成功了。有些东西阻止了迁移工作。您是否运行过 rails g 设计用户?您采取了哪些步骤来创建用户表?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 2013-02-01
  • 2011-08-19
  • 2012-08-27
  • 2012-11-17
  • 1970-01-01
相关资源
最近更新 更多