I’m wondering if there was a better way to do this:
I want to add a prerequisite check to the db:reset rails task so that if
we’re in production mode, the user has to add an additional environment
variable for it to run (yes, I know users shouldn’t even be on
production machines, but in this case it’s worth it).
What I found I had to do was:
-
added a task for the check:
namespace :fp do
task :check_for_production_flag => :environment do
raise “Boom!” unless RAILS_ENV!=‘production’ || ENV[‘production’]
end
end -
added a dependency for db:reset:
namespace :db do
task :reset => [“fp:check_for_production_flag”]
end
And then, most importantly, had to change Rakefile so that the rake file
with the above items was loaded before “require ‘tasks/rails’”.
This may be because db:reset is actually an empty task and
accomplishes its work through its 3 prerequisites.
Did I have any alternative to doing it this way?
Thanks,
dwh