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 = " SELECT\n cols.column_name,\n (\n SELECT\n pg_catalog.col_description(c.oid, cols.ordinal_position::int)\n FROM\n pg_catalog.pg_class c\n WHERE\n c.oid = (SELECT ('\"' || cols.table_name || '\"')::regclass::oid)\n AND c.relname = cols.table_name\n ) AS column_comment\n FROM\n information_schema.columns cols\n WHERE\n cols.table_catalog = '\#{database_name}'\n AND cols.table_name = '\#{table_name}'\n AND cols.table_schema = 'public';\n SQL\n\n columns_comment_hash = {}\n ActiveRecord::Base.connection.execute(select_comment).map { |c| columns_comment_hash[c['column_name']] = c['column_comment'] }\n columns_comment_hash\nend\n" |
.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 = " select obj_description('public.\#{table_name}'::regclass);\n SQL\n\n ActiveRecord::Base.connection.execute(select_comment)[0]['obj_description']\nend\n" |