1
当我尝试种子我的Rails应用程序4.0,我得到这个错误:为什么`rake db:seed`失败,“不知道如何构建任务'db:seed:original'”?
$ rake db:seed --trace
** Invoke db:seed (first_time)
** Invoke db:seed:common (first_time)
rake aborted!
Don't know how to build task 'db:seed:original'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task_manager.rb:62:in `[]'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:57:in `lookup_prerequisite'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:53:in `block in prerequisite_tasks'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:53:in `map'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:53:in `prerequisite_tasks'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:199:in `invoke_prerequisites'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:178:in `block in invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:201:in `block in invoke_prerequisites'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:199:in `each'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:199:in `invoke_prerequisites'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:178:in `block in invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/monitor.rb:211:in `mon_synchronize'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:172:in `invoke_with_call_chain'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/task.rb:165:in `invoke'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:150:in `invoke_task'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `block (2 levels) in top_level'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `each'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:106:in `block in top_level'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:115:in `run_with_threads'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:100:in `top_level'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:78:in `block in run'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/opt/rbenv/versions/2.2.0/lib/ruby/2.2.0/rake/application.rb:75:in `run'
/opt/rbenv/versions/2.2.0/bin/rake:33:in `<main>'
Tasks: TOP => db:seed => db:seed:common
但我不能找到叫original
种子任务的任何引用。这是否内置到Rails?
如果我通过例如手动方式调用我的任何种子任务, rake db:seed:whatever
,它工作正常。
有趣的是,在我的种子文件夹中创建了空的文件original.seeds.rb
后,播种没有错误地运行。
是什么导致了这个错误?
你有db/seeds.rb吗? – neo
不是。当我创建一个空的(并删除'original.seeds.rb')时,它工作。任何想法为什么Rake希望在那里有一个文件? –
@neo我认为这是问题的原因。如果您想将其扩展为答案(特别是如果您知道该文件为何预期),我会接受它。 –