我的 RAILS_ROOT 是 /usr/local/www/application/
如果我从 RAILS_ROOT 中运行“rake db:migrate RAILS_ENV=production”,它工作正常。
但是我似乎找不到从 RAILS_ROOT 外部运行相同命令的方法。
我的 RAILS_ROOT 是 /usr/local/www/application/
如果我从 RAILS_ROOT 中运行“rake db:migrate RAILS_ENV=production”,它工作正常。
但是我似乎找不到从 RAILS_ROOT 外部运行相同命令的方法。
尝试:
rake -f $RAILS_ROOT/Rakefile db:migrate RAILS_ENV=production
# Assuming you set the environment variable.
# Else, just replace $RAILS_ROOT by actual value
我认为你需要重新考虑你的问题。在rake
不指定 rakefile 的情况下运行时,它将在当前目录中搜索所述 rakefile。在 RAILS_ROOT 之外的目录中,它将找不到 rakefile 或错误的 Rakefile
rake -rakefile /usr/local/www/application/Rakefile db:migrate RAILS_ENV=production
可能会起作用(假设rake 用户指南是正确的),尽管您可能必须在目录中才能进行设计不佳的插件/库修改。
尝试
cd /user/local/www/application && rake db:migrate RAILS_ENV=production