Ruby on rails 使用rake db重置SQLite数据库时出错:重置
我已成功创建了一个数据库,并使用以下工具执行了第一次迁移:Ruby on rails 使用rake db重置SQLite数据库时出错:重置,ruby-on-rails,database,sqlite,rake,reset,Ruby On Rails,Database,Sqlite,Rake,Reset,我已成功创建了一个数据库,并使用以下工具执行了第一次迁移: class CreateUsers < ActiveRecord::Migration def change create_table :users do |t| t.string :name t.string :email t.timestamps end end end 我不确定是什么原因导致了这个问题,也不确定如何调试它,所以我们非常感谢您的帮助 我正在运行Ra
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :name
t.string :email
t.timestamps
end
end
end
我不确定是什么原因导致了这个问题,也不确定如何调试它,所以我们非常感谢您的帮助
我正在运行Rails 3.1
错误的完整跟踪是:
** Invoke db:reset (first_time)
** Invoke db:drop (first_time)
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:drop
** Invoke db:setup (first_time)
** Invoke db:create (first_time)
** Invoke db:load_config
** Execute db:create
db/test.sqlite3 already exists
** Invoke db:schema:load (first_time)
** Invoke environment (first_time)
** Execute environment
** Execute db:schema:load
-- create_table("users", {:force=>true})
-> 0.0050s
-- initialize_schema_migrations_table()
-> 0.0053s
-- assume_migrated_upto_version(20111212200427, ["/Users/xxxx/My_Work/Resources/Rails/Books/Rails-Tutorial/Sample-App/sample_app/db/migrate"])
-> 0.0055s
** Invoke db:seed (first_time)
** Invoke db:abort_if_pending_migrations (first_time)
** Invoke environment
** Execute db:abort_if_pending_migrations
** Execute db:seed
rake aborted!
can't convert nil into String
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.1.0/lib/rails/engine.rb:487:in `exist?'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.1.0/lib/rails/engine.rb:487:in `load_seed'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.0/lib/active_record/railties/databases.rake:299:in `block (2 levels) in <top (required)>'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain'
/Users/xxxx/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `block in invoke_prerequisites'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain'
/Users/xxxx/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:176:in `block in invoke_prerequisites'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:157:in `block in invoke_with_call_chain'
/Users/xxxx/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/bin/rake:19:in `load'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/bin/rake:19:in `<main>'
Tasks: TOP => db:reset => db:setup => db:seed
调用数据库:重置(第一次)
**调用数据库:删除(第一次)
**调用数据库:加载配置(第一次)
**调用rails_env(第一次)
**执行rails_env
**执行db:load\u config
**执行db:drop
**调用数据库:设置(第一次)
**调用数据库:创建(第一次)
**调用db:load\u config
**执行数据库:创建
db/test.sqlite3已存在
**调用数据库:模式:加载(第一次)
**调用环境(第一次)
**执行环境
**执行db:schema:load
--创建_表(“用户”,{:force=>true})
->0.0050s
--初始化\u架构\u迁移\u表()
->0.0053s
--假设已迁移到版本(20111212200427,[“/Users/xxxx/My_Work/Resources/Rails/Books/Rails Tutorial/Sample App/Sample_App/db/migrate”])
->0.0055s
**调用数据库:种子(第一次)
**调用数据库:如果挂起迁移,则中止(第一次)
**调用环境
**执行数据库:如果\u挂起\u迁移,则中止\u
**执行db:seed
雷克流产了!
无法将nil转换为字符串
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.1.0/lib/rails/engine.rb:487:是否存在
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/railties-3.1.0/lib/rails/engine.rb:487:in'load_seed'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/activerecord-3.1.0/lib/active\u record/railties/databases.rake:299:in `块(2层)in'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:205:in'call'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:205:在“执行中的块”中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:200:in'each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:200:in'execute'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:158:in`block in invoke_with_call_chain'
/Users/xxxx/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in'mon_synchronize'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:151:invoke\u with\u call\u chain'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:176:in`block in invoke_前提条件'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:in'each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:在“调用”前提条件中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:157:“使用调用链阻止调用”
/Users/xxxx/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in'mon_synchronize'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:151:invoke\u with\u call\u chain'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:176:in`block in invoke_前提条件'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:in'each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:174:在“调用”前提条件中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:157:“使用调用链阻止调用”
/Users/xxxx/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/monitor.rb:211:in'mon_synchronize'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:151:invoke\u with\u call\u chain'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/task.rb:144:in'invoke'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:116:在“调用任务”中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:94:在“顶层的块(2层)”中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:94:in'each'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:94:在“顶层块”中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:133:在“标准异常处理”中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:88:“顶级”
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:66:在“运行中的块”中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:133:在“标准异常处理”中
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/lib/rake/application.rb:63:in'run'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/gems/rake-0.9.2.2/bin/rake:33:in`'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/bin/rake:19:in'load'
/Users/xxxx/.rvm/gems/ruby-1.9.3-p0/bin/rake:19:in`'
任务:TOP=>db:reset=>db:setup=>db:seed
,重新创建一个空的将解决您的问题:
touch db/seeds.rb
,重新创建一个空的将解决您的问题:
touch db/seeds.rb
一定是删除了。从上一次提交中抓取了它,它工作了。谢谢。添加答案,我会将其标记为Solved必须删除它。从上一次提交中抓取了它,它工作了。谢谢。添加一个答案,我会将其标记为已解决