2011-12-19 34 views
1

我已经成功地创建了一个数据库,并使用执行我的第一次迁移:错误与耙分贝复位SQLite数据库:重置

class CreateUsers < ActiveRecord::Migration 
    def change 
    create_table :users do |t| 
     t.string :name 
     t.string :email 

     t.timestamps 
    end 
    end 
end 

当我尝试重置数据库,会出现如下:

rake aborted! 
can't convert nil into String 

我不确定什么可能导致此问题或如何调试它,所以任何帮助将不胜感激。

我运行的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 
+0

是否'DB /种子.rb'存在吗? – 2011-12-19 17:53:45

+0

不,没有迹象。 – Undistraction 2011-12-19 18:05:50

+0

必须删除它。从之前的提交中抓取它,并且工作正常。非常感谢。添加一个答案,我会将其标记为已解决 – Undistraction 2011-12-19 18:09:27

回答