adding a prerequisite first to db:reset

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