Capistrano:尝试在远程服务器上运行rake db:seed

时间:2014-01-07 20:38:28

标签: ruby-on-rails capistrano

我正在尝试使用capistrano在远程服务器上运行我的种子文件。我的部署没问题,所以没有问题。以下是在config / deploy.rb

中运行种子文件的代码
namespace :seed do
  desc "Run a task on a remote server."
  # run like: cap staging rake:invoke task=a_certain_task  
  task :default do
    run("cd #{deploy_to}/current; /usr/bin/env bundle exec rake #{ENV['db:seed']} RAILS_ENV=#{rails_env}")
  end
end

我通过运行'cap seed'来唤起这个任务。

当我运行它时,看起来测试正在运行,这很奇怪.. HERE是一个片段。

1 个答案:

答案 0 :(得分:1)

问题可能出在#{ENV ['db:seed']}部分。不应该只是db:seed。 eniviroment变量db:seed不存在,因此您正在调用纯rake命令。

试试这个:

run("cd #{deploy_to}/current; /usr/bin/env bundle exec rake db:seed RAILS_ENV=#{rails_env}")