Rake about > Environment staging

hi,
im using rvm + gemsets, but i dont know why rake always picks staging
environment. i did not set this anywhere manually. any ideas?
thx

What’s the output of echo $RAILS_ENV ?


Oscar Del B.
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

its empty

here are some values from ‘env’

MY_RUBY_HOME=/home/tom/.rvm/rubies/ruby-1.9.3-p194
rvm_bin_path=/home/tom/.rvm/bin
GEM_HOME=/home/tom/.rvm/gems/ruby-1.9.3-p194@mygemset
TERM=xterm
SHELL=/bin/bash
IRBRC=/home/tom/.rvm/rubies/ruby-1.9.3-p194/.irbrc
rvm_path=/home/tom/.rvm
escape_flag=1
rvm_prefix=/home/tom
MAIL=/var/mail/tom
PATH=/home/tom/.rvm/gems/ruby-1.9.3-p194@mygemset
/bin:/home/tom/.rvm/gems/ruby-1.9.3-p194@global
/bin:/home/tom/.rvm/rubies/ruby-1.9.3-p194/bin:/home/tom/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin
LANG=en_US.UTF-8
_second=1
rvm_version=1.14.1 (stable)
SHLVL=1
HOME=/home/tom
_first=0
LOGNAME=tom
GEM_PATH=/home/tom/.rvm/gems/ruby-1.9.3-p194@mygemset
:/home/tom/.rvm/gems/ruby-1.9.3-p194@global
install_flag=1
RUBY_VERSION=ruby-1.9.3-p194
_=/usr/bin/env

i did delete all rvm stuff, rebooted and reinstalled rvm. this is my
rvmrc
file:
rvm_trust_rvmrcs_flag=1
rvm use ruby-1.9.3-p194@mygemset --create

thx

On Fri, Jun 8, 2012 at 6:32 PM, Oscar Del B.

hi,
its just a simple rake import tasks (using :environment, but all my rake
commands are affected, even a migration goes straight to staging…

namespace :import do
desc “import automobiles step1”
task :automobiles => :environment do

i’ve checked everything for staging, but i dont see what could point
towards staging. ill try to setup a new system-user and rerun rvm setup
with the same rvmrc file…

thx for any pointers

On Sat, Jun 9, 2012 at 8:51 PM, Oscar Del B.

what’s the content of Rakefile?


Oscar Del B.
Sent with Sparrow (http://www.sparrowmailapp.com/?sig)

no, it executes eg the migrations on the staging-db, but if i start up
webrick via “rails s” it comes up the standard development environment

where does rake get the environment info if i ommit ‘RAILS_ENV’ when
executing a rake command?

thx

On 9 June 2012 23:10, tom [email protected] wrote:

no, it executes eg the migrations on the staging-db, but if i start up
webrick via “rails s” it comes up the standard development environment

Since you have top posted (rather than inline) I am not certain what
you are saying no to. Are you saying that if you do
RAILS_ENV=development rake db:migrate
that it runs on the staging environment and not development?

Colin

yes, thats correct

RAILS_ENV=development rake db:migrate

runs in staging env.

thx

On 9 June 2012 20:11, tom [email protected] wrote:

i’ve checked everything for staging, but i dont see what could point
towards staging. ill try to setup a new system-user and rerun rvm setup with
the same rvmrc file…

Does it run ok if you do something like
RAILS_ENV=development rake …

How about running: “export RAILS_ENV=development ; rake about”

What does rake report for Environment in this case?

On 10 June 2012 11:19, tom [email protected] wrote:

Top posting still :frowning:

yes, thats correct

RAILS_ENV=development rake db:migrate

runs in staging env.

I don’t understand why you then went on to ask

where does rake get the environment info if i ommit ‘RAILS_ENV’ when
executing a rake command?

Two points (please reply inline so that it makes it easier to follow
the thread. Thanks

  1. How do you know that rake db:migrate is running in staging
    environment?

  2. Please post database.yml here.

Colin

On 10 June 2012 14:25, Rick [email protected] wrote:

How about running: “export RAILS_ENV=development ; rake about”

What does rake report for Environment in this case?

I had forgotten rake about, what does rake about show without setting
RAILS_ENV?

Colin

inline

On Sun, Jun 10, 2012 at 12:30 PM, Colin L. [email protected]
wrote:

where does rake get the environment info if i ommit ‘RAILS_ENV’ when
executing a rake command?

Two points (please reply inline so that it makes it easier to follow
the thread. Thanks

  1. How do you know that rake db:migrate is running in staging environment?

because the migrations are being executed on the staging-db (eg adding a
new colum)

  1. Please post database.yml here.

database.yml is pretty much standard:

staging:
adapter: mysql2
encoding: utf8
reconnect: false
database: myproject_staging
pool: 5
username: myproject_dbuser
password: myproject_dbuser
socket: /var/run/mysqld/mysqld.sock
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: myproject_development
pool: 5
username: myproject_dbuser
password: myproject_dbuser
socket: /var/run/mysqld/mysqld.sock
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: myproject_test
pool: 5
username: myproject_dbuser
password: myproject_dbuser
socket: /var/run/mysqld/mysqld.sock
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: myproject_production
pool: 5
username: myproject_dbuser
password: myproject_dbuser
socket: /var/run/mysqld/mysqld.sock

as i said, starting webrick works fine in different environments,
whereas rake tasks always use “staging”, no matter what specify. here a
sample of a migration:
rails g migration add name_to_testbooks name:string
/home/tom/.rvm/gems/ruby-1.9.3-p194@mygemset/gems/railties-3.2.1/lib/rails/script_rails_loader.rb:11:
warning: Insecure world writable dir /home/tom in PATH, mode 040777
/home/tom/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:211:
warning: Insecure world writable dir /home/tom in PATH, mode 040777
invoke active_record
create db/migrate/20120610111033_add.rb
tom@debian6ror3:~/rails3/myproject$ RAILS_ENV=development rake
db:migrate
–trace
/home/tom/.rvm/gems/ruby-1.9.3-p194@global/gems/bundler-1.1.4/lib/bundler/runtime.rb:211:
warning: Insecure world writable dir /home/tom in PATH, mode 040777
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config (first_time)
** Invoke rails_env (first_time)
** Execute rails_env
** Execute db:load_config
** Execute db:migrate
== Add: migrating
============================================================
– add_column(:testbooks, :name, :string)
→ 0.3212s
== Add: migrated (0.3216s)
===================================================

** Invoke db:_dump (first_time)
** Execute db:_dump
** Invoke db:schema:dump (first_time)
** Invoke environment
** Invoke db:load_config
** Execute db:schema:dump

furthermore, removing staging from the database.yml results in rake
telling
me that it doesnt find a staging adapter - even though when i run in
''dev
mode"

@rvm i installed a user-rvm, straight from the docs. does that
interfere?

@ill setup a new user and rvm again, then reusing the GEMFILE/rvmrc

good points rick, it lead me to the issue: my system-user
groupmembership
was wrong. i added for some other reasons my system user to the root and
some other groups…that messed everythign up. using a new user, same
rvmrc
& Gemfile works again as expected.
thx

I’m not really too up on rvm but I wonder…

Is it possible that your work environment, specifically the login shell
that you are using to type commands in a terminal window, includes an
alias
for rake? Since staging is not one of the three default environments
for
RoR it had to be created with all rules for it’s use somewhere “outside”
the vanilla system.

What I’m thinking is that somewhere you have a runtime command file
(eg.:
.bashrc, .cshrc, .profile, …) that contains a line:
alias rake=‘rake RAILS_ENV=staging’

To find out if this is so, type:
alias rake

Rick