Sha256: 78b74902fa712af3145aaed1ca943bc695e93382ddaf86e2ee7af32ab99e0a71

Contents?: true

Size: 1.32 KB

Versions: 26

Compression:

Stored size: 1.32 KB

Contents

module Marty::Diagnostic::Database
  def self.db_name
    ActiveRecord::Base.connection_config[:database]
  end

  def self.db_server_name
    ActiveRecord::Base.connection_config[:host] || 'undefined'
  end

  def self.db_adapter_name
    ActiveRecord::Base.connection.adapter_name
  end

  def self.db_time
    ActiveRecord::Base.connection.execute('SELECT NOW();')[0]['now']
  end

  def self.db_version
    ActiveRecord::Base.connection.execute('SELECT VERSION();')[0]['version']
  end

  def self.db_schema
    current = ActiveRecord::Migrator.current_version
    raise "Migration is needed.\nCurrent Version: #{current}" if
      ActiveRecord::Migrator.needs_migration?
    current.to_s
  end

  def self.get_postgres_connections
    conn = ActiveRecord::Base.connection.execute('SELECT datname,'\
                                                 'application_name,'\
                                                 'state,'\
                                                 'pid,'\
                                                 'client_addr '\
                                                 'FROM pg_stat_activity')
    conn.each_with_object({}) do |conn, h|
      h[conn['datname']] ||= []
      h[conn['datname']] << conn.except('datname')
    end
  end

  def self.current_connections
    get_postgres_connections[db_name]
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
marty-2.5.2 other/marty/diagnostic/database.rb
marty-2.5.1 other/marty/diagnostic/database.rb
marty-2.5.0 other/marty/diagnostic/database.rb
marty-2.4.9 other/marty/diagnostic/database.rb
marty-2.4.8 other/marty/diagnostic/database.rb
marty-2.4.7 other/marty/diagnostic/database.rb
marty-2.4.6 other/marty/diagnostic/database.rb
marty-2.4.5 other/marty/diagnostic/database.rb
marty-2.4.4 other/marty/diagnostic/database.rb
marty-2.4.3 other/marty/diagnostic/database.rb
marty-2.4.2 other/marty/diagnostic/database.rb
marty-2.4.1 other/marty/diagnostic/database.rb
marty-2.4.0 other/marty/diagnostic/database.rb
marty-2.3.15 other/marty/diagnostic/database.rb
marty-2.3.14 other/marty/diagnostic/database.rb
marty-2.3.13 other/marty/diagnostic/database.rb
marty-2.3.12 other/marty/diagnostic/database.rb
marty-2.3.11 other/marty/diagnostic/database.rb
marty-2.3.10 other/marty/diagnostic/database.rb
marty-2.3.9 other/marty/diagnostic/database.rb