Запустить грабли снаружи RAILS_ROOT - PullRequest
4 голосов
/ 30 июля 2009

Мой RAILS_ROOT - / usr / local / www / application /

Если я запускаю 'rake db: migrate RAILS_ENV = production "из RAILS_ROOT, он работает нормально.

Однако я не могу найти способ выполнить ту же команду извне RAILS_ROOT.

Ответы [ 3 ]

12 голосов
/ 30 июля 2009

Попробуйте:

rake -f $RAILS_ROOT/Rakefile db:migrate RAILS_ENV=production
# Assuming you set the environment variable. 
# Else, just replace $RAILS_ROOT by actual value
3 голосов
/ 30 июля 2009

Я думаю, вам нужно переосмыслить свой вопрос. При запуске rake без указания файла rakefile он будет искать в текущем каталоге указанный файл rakefile. В каталоге, кроме RAILS_ROOT, он не найдет rakefile или неправильный Rakefile

rake -rakefile /usr/local/www/application/Rakefile db:migrate RAILS_ENV=production может работать (при условии, что руководство пользователя rake верно), хотя вам может потребоваться быть в каталоге для плохо разработанных плагинов / модификаций библиотеки.

1 голос
/ 30 июля 2009

Попробуйте

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