Rails console default environment

13,864

Solution 1

The rails executable can't know which environment should run on which machine.

you can put export RAILS_ENV=production in your ~/.bashrc or ~/.bash_profile file of the user you want to start the console with.

Solution 2

RAILS_ENV is a variable like any other which will always default to development

if you like you can always open up '~/.bash_profile' on the production server and add this:

 alias sc="bundle exec rails console production"

then run source ~/.bash_profile to reload that file for your terminal session and you can just call sc to load up console.

Share:
13,864
Admin
Author by

Admin

Updated on June 06, 2022

Comments

  • Admin
    Admin almost 2 years

    On my development machine:

    $ bundle exec rails console
    Loading development environment (Rails 3.2.3)
    1.9.3p194 :001 > Rails.env
     => "development"
    

    This is expected. So far, so good.

    Yet on my production server (to which I have deployed using Capistrano), I get exactly the same result:

    $ bundle exec rails console
    Loading development environment (Rails 3.2.3)
    1.9.3p194 :001 > Rails.env
     => "development"
    

    On either machine, I can instead do:

    $ bundle exec rails console production
    Loading development environment (Rails 3.2.3)
    1.9.3p194 :001 > Rails.env
     => "production"
    

    My question is: on the production server, shouldn't bundle exec rails console load the production environment by default, instead of the development environment? And if not, why not?