从RAILS_ROOT外部运行rake任务

时间:2009-07-30 13:18:41

标签: ruby-on-rails rake task

我的RAILS_ROOT是/ usr / local / www / application /

如果我从RAILS_ROOT中运行'rake db:migrate RAILS_ENV = production',它可以正常工作。

但是我似乎无法找到从RAILS_ROOT外部运行相同命令的方法。

3 个答案:

答案 0 :(得分:12)

尝试:

rake -f $RAILS_ROOT/Rakefile db:migrate RAILS_ENV=production
# Assuming you set the environment variable. 
# Else, just replace $RAILS_ROOT by actual value

答案 1 :(得分:3)

我认为你需要重新思考你的问题。在没有指定rakefile的情况下运行rake时,它将在当前目录中搜索所述rakefile。在除RAILS_ROOT之外的目录中,它将找不到rakefile或错误的Rakefile

rake -rakefile /usr/local/www/application/Rakefile db:migrate RAILS_ENV=production可能有效(假设the rake user guide是正确的),但您可能必须在目录中进行设计不良的插件/库修改。

答案 2 :(得分:1)

尝试

cd /user/local/www/application && rake db:migrate RAILS_ENV=production