Module: Marty::Diagnostic::Database
- Defined in:
- lib/marty/diagnostic/database.rb
Class Method Summary collapse
- .current_connections ⇒ Object
- .db_adapter_name ⇒ Object
- .db_name ⇒ Object
- .db_schema ⇒ Object
- .db_server_name ⇒ Object
- .db_time ⇒ Object
- .db_version ⇒ Object
- .get_postgres_connections ⇒ Object
Class Method Details
.current_connections ⇒ Object
43 44 45 |
# File 'lib/marty/diagnostic/database.rb', line 43 def self.current_connections get_postgres_connections[db_name] end |
.db_adapter_name ⇒ Object
10 11 12 |
# File 'lib/marty/diagnostic/database.rb', line 10 def self.db_adapter_name ActiveRecord::Base.connection.adapter_name end |
.db_name ⇒ Object
2 3 4 |
# File 'lib/marty/diagnostic/database.rb', line 2 def self.db_name ActiveRecord::Base.connection_config[:database] end |
.db_schema ⇒ Object
22 23 24 25 26 27 28 |
# File 'lib/marty/diagnostic/database.rb', line 22 def self.db_schema current = ActiveRecord::Migrator.current_version raise "Migration is needed.\nCurrent Version: #{current}" if ::Marty::RailsApp.needs_migration? current.to_s end |
.db_server_name ⇒ Object
6 7 8 |
# File 'lib/marty/diagnostic/database.rb', line 6 def self.db_server_name ActiveRecord::Base.connection_config[:host] || 'undefined' end |
.db_time ⇒ Object
14 15 16 |
# File 'lib/marty/diagnostic/database.rb', line 14 def self.db_time ActiveRecord::Base.connection.execute('SELECT NOW();')[0]['now'] end |
.db_version ⇒ Object
18 19 20 |
# File 'lib/marty/diagnostic/database.rb', line 18 def self.db_version ActiveRecord::Base.connection.execute('SELECT VERSION();')[0]['version'] end |
.get_postgres_connections ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/marty/diagnostic/database.rb', line 30 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 |