Sha256: b81430a27bc93b1d19f3f33b2e8f6f6744320573075bc6c94723cf1553523e7a

Contents?: true

Size: 1020 Bytes

Versions: 4

Compression:

Stored size: 1020 Bytes

Contents

# frozen_string_literal: true

require 'rails-pg-extras'

namespace :pg_extras do
  task :establish_connection do
    if ENV['DATABASE_URL'].present?
      ActiveRecord::Base.establish_connection(ENV['DATABASE_URL'])
    else
      db_config_file = File.read('config/database.yml')
      db_config = YAML::load(ERB.new(db_config_file).result)
      ActiveRecord::Base.establish_connection(db_config[Rails.env])
    end
  end

  RailsPGExtras::QUERIES.each do |query_name|
    desc RubyPGExtras.description_for(query_name: query_name)
    task query_name.to_sym => :establish_connection do
      RailsPGExtras.public_send(query_name)
    end
  end

  desc "Generate a PostgreSQL healthcheck report"
  task diagnose: :establish_connection do
    RailsPGExtras.diagnose
  end

  desc "Display tables metadata metrics"
  task table_info: :establish_connection do
    RailsPGExtras.table_info
  end

  desc "Display indexes metadata metrics"
  task index_info: :establish_connection do
    RailsPGExtras.index_info
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rails-pg-extras-3.3.0 lib/rails-pg-extras/tasks/all.rake
rails-pg-extras-3.2.7 lib/rails-pg-extras/tasks/all.rake
rails-pg-extras-3.2.6 lib/rails-pg-extras/tasks/all.rake
rails-pg-extras-3.2.5 lib/rails-pg-extras/tasks/all.rake