2015-04-06 2 views
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, он отлично работает.

Потрясающе, после того, как я создал пустой файл в моей папке с семенами, посев бежал без ошибок.

В чем причина этой ошибки?

+1

У вас есть db/seeds.rb? – neo

+0

Нет. Когда я создал пустой (и удалил 'original.seeds.rb'), он сработал. Любая идея, почему Rake ожидает там файл? –

+0

@neo Я предполагаю, что это стало причиной проблемы. Если вы хотите расширить это в ответ (особенно если вы знаете, почему этот файл ожидался), я соглашусь с ним. –

ответ

2

Чтобы решить эту проблему, вам нужно создать манекен db/seeds.rb. когда вы запустите rake db:seed, он ожидает, что у вас есть этот файл.