I’m loading fixture data via migrations into my application using the
method
described in the Agile book. This works beautifully for development and
production environments. The only problem is, I don’t want these
particular
migrations to run when I do rake db:migrate RAILS_ENV=test. For one,
there
is no reason to being loading data into the test db. And, more
problematic
for me, this causes foreign key constraint errors which abort the rake
with
the test db because I’m using Redhillonrails’ foreign_key_migrations
plugin.
Actually, I spoke too soon. This code doesn’t actually work. I thought
it
did because the argument passed, but it just ignored the migration on
all
environments. It seems that rake pulls RAILS_ENV from the actual setting
in
the application, not from the option passed at the command line (rake
db:migrate RAILS_ENV=test), which only seems to change the db it’s
acting
upon. Someone tell me if I’m wrong.
I also tried this, which also skips the migration on all environments:
unless ENV[‘RAILS_ENV’] = “test”
migration stuff
end
and, the following caused all three environments to run the migration.
if ENV[‘RAILS_ENV’] = “development” || “production”
migration stuff
end
which I assumed was because the application is set to development. But
for
some crazy reason, this runs the migration on all environments as well!:
Hahaha! Oh man… I was way over analyzing that one. Jeez… thanks
for
the Programming 101 kick in the arse Lionel. Step away from coding for a
month and my mind goes to mush on the basics.