我的RAILS_ROOT是/ usr / local / www / application /
如果我从RAILS_ROOT中运行'rake db:migrate RAILS_ENV = production',它可以正常工作。
但是我似乎无法找到从RAILS_ROOT外部运行相同命令的方法。
答案 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