Ruby-on-rails – running rake task on ‘production’ and specifying environment

rakeruby-on-rails

I have a host at Linode and am trying to run a Rake task on it, but I get a mySQL error saying it can't connect. It looks like it thinks it is on dev. I did some Googling and saw that I can do something like this:

bundle exec rails c

It loads the dev environment and I can't run User.all giving me an access denied error.

If I run bundle exec rails c RAILS_ENV=production I get the error:

Rails.env=production database is not configured (ActiveRecord::AdapterNotSpecified)

However, if I access it via the web, everything is OK. I was able to run rake db:seed before so I know that there's some way around this.

Accessing mySQL with the production credentials works fine.

Any ideas?

Best Solution

Try this:

rails c production

or, at the beginning:

RAILS_ENV=production rails c

It thinks you're passing RAILS_ENV=production as an argument when you put it at the end.