【发布时间】:2009-07-30 13:18:41
【问题描述】:
我的 RAILS_ROOT 是 /usr/local/www/application/
如果我从 RAILS_ROOT 中运行“rake db:migrate RAILS_ENV=production”,它可以正常工作。
但是我似乎找不到从 RAILS_ROOT 外部运行相同命令的方法。
【问题讨论】:
标签: ruby-on-rails rake task
我的 RAILS_ROOT 是 /usr/local/www/application/
如果我从 RAILS_ROOT 中运行“rake db:migrate RAILS_ENV=production”,它可以正常工作。
但是我似乎找不到从 RAILS_ROOT 外部运行相同命令的方法。
【问题讨论】:
标签: ruby-on-rails rake task
试试:
rake -f $RAILS_ROOT/Rakefile db:migrate RAILS_ENV=production
# Assuming you set the environment variable.
# Else, just replace $RAILS_ROOT by actual value
【讨论】:
我认为您需要重新考虑您的问题。在不指定 rakefile 的情况下运行 rake 时,它将在当前目录中搜索所述 rakefile。在 RAILS_ROOT 以外的目录中,它会找不到 rakefile 或错误的 Rakefile
rake -rakefile /usr/local/www/application/Rakefile db:migrate RAILS_ENV=production 可能有效(假设the rake user guide 是正确的),但您可能必须在目录中进行设计不佳的插件/库修改。
【讨论】:
试试
cd /user/local/www/application && rake db:migrate RAILS_ENV=production
【讨论】: