Anand Shah
Anand Shah

Reputation: 14913

Run rake task from outside RAILS_ROOT

My RAILS_ROOT is /usr/local/www/application/

If I run 'rake db:migrate RAILS_ENV=production" from within the RAILS_ROOT it works fine.

However I can't seem to find a way to run the same command from outside the RAILS_ROOT.

Upvotes: 4

Views: 4100

Answers (3)

Swanand
Swanand

Reputation: 12426

Try:

rake -f $RAILS_ROOT/Rakefile db:migrate RAILS_ENV=production
# Assuming you set the environment variable. 
# Else, just replace $RAILS_ROOT by actual value

Upvotes: 12

Oliver N.
Oliver N.

Reputation: 2496

I think you need to re-think your question. When running rake without specifying a rakefile, it's going to search in the current directory for said rakefile. In a directory besides RAILS_ROOT, it's going to find no rakefile or the wrong Rakefile

rake -rakefile /usr/local/www/application/Rakefile db:migrate RAILS_ENV=production might work (assuming the rake user guide is correct), though you may have to be in the directory for poorly designed plugins/library modifications.

Upvotes: 3

Ben Crouse
Ben Crouse

Reputation: 8348

Try

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

Upvotes: 1

Related Questions