Class: DatabaseDocumenter::DatabaseComment::PostgresDatabaseComment
- Inherits:
-
BaseDatabaseComment
- Object
- BaseDatabaseComment
- DatabaseDocumenter::DatabaseComment::PostgresDatabaseComment
- Defined in:
- lib/database_documenter/database_comment/postgres_database_comment.rb
Class Method Summary collapse
Methods inherited from BaseDatabaseComment
Class Method Details
.read_columns_comment(table_name) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/database_documenter/database_comment/postgres_database_comment.rb', line 3 def self.read_columns_comment(table_name) select_comment = <<-SQL SELECT cols.column_name, ( SELECT pg_catalog.col_description(c.oid, cols.ordinal_position::int) FROM pg_catalog.pg_class c WHERE c.oid = (SELECT ('"' || cols.table_name || '"')::regclass::oid) AND c.relname = cols.table_name ) AS column_comment FROM information_schema.columns cols WHERE cols.table_catalog = '#{database_name}' AND cols.table_name = '#{table_name}' AND cols.table_schema = 'public'; SQL columns_comment_hash = {} ActiveRecord::Base.connection.execute(select_comment).map { |c| columns_comment_hash[c['column_name']] = c['column_comment'] } columns_comment_hash end |
.read_table_comment(table_name) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/database_documenter/database_comment/postgres_database_comment.rb', line 29 def self.read_table_comment(table_name) select_comment = <<-SQL select obj_description('public.#{table_name}'::regclass); SQL ActiveRecord::Base.connection.execute(select_comment)[0]['obj_description'] end |