```ruby
module WCC
  module RakeHelpers

    def self.db_config
      @config ||= db_config_file_data[ENV['RAILS_ENV'] || 'development'] || {}
    end

    def self.db_cmd_with_password(cmd, pw)
      `#{db_cmd_with_password_string(cmd, pw)}`
    end

    def self.db_cmd_with_password_string(cmd, pw)
      %{PGPASSWORD="#{pw}" #{cmd.join(" ")}}
    end

    def self.postgresql?
      db_config["adapter"] == "postgresql"
    end

    def self.mysql?
      db_config["adapter"] == "mysql"
    end

    def self.db_config_file_data
      if defined?(ActiveRecord::Base)
        ActiveRecord::Base.configurations
      else
        YAML.load_file("config/database.yml")
      end
    rescue SystemCallError
      {}
    end

  end
end

namespace :db do

  desc "Drops, creates, migrates, seeds dev DB and prepares test DB"
  task :rebuild => ["db:drop", "db:create", "db:migrate", "db:seed", "db:test:prepare"]

end

```

Add guard against empty AR configs
user
```ruby
module WCC
  module RakeHelpers

    def self.db_config
      @config ||= db_config_file_data[ENV['RAILS_ENV'] || 'development'] || {}
    end

    def self.db_cmd_with_password(cmd, pw)
      `#{db_cmd_with_password_string(cmd, pw)}`
    end

    def self.db_cmd_with_password_string(cmd, pw)
      %{PGPASSWORD="#{pw}" #{cmd.join(" ")}}
    end

    def self.postgresql?
      db_config["adapter"] == "postgresql"
    end

    def self.mysql?
      db_config["adapter"] == "mysql"
    end

    def self.db_config_file_data
      if defined?(ActiveRecord::Base) && ActiveRecord::Base.configurations.present?
        ActiveRecord::Base.configurations
      else
        YAML.load_file("config/database.yml")
      end
    rescue SystemCallError
      {}
    end

  end
end

namespace :db do

  desc "Drops, creates, migrates, seeds dev DB and prepares test DB"
  task :rebuild => ["db:drop", "db:create", "db:migrate", "db:seed", "db:test:prepare"]

end

```
assistant