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