4

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

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

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

4

3 回答 3

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
于 2009-07-30T13:34:01.937 回答
3

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

rake -rakefile /usr/local/www/application/Rakefile db:migrate RAILS_ENV=production可能会起作用(假设rake 用户指南是正确的),尽管您可能必须在目录中才能进行设计不佳的插件/库修改。

于 2009-07-30T13:33:50.313 回答
1

尝试

cd /user/local/www/application && rake db:migrate RAILS_ENV=production
于 2009-07-30T13:26:35.717 回答