method
columns
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements
columns(table_name)public
Returns the list of all column definitions for a table.
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb, line 225
def columns(table_name) # :nodoc:
table_name = table_name.to_s
column_definitions(table_name).map do |column_name, type, default, notnull, oid, fmod, collation, comment|
oid = oid.to_i
fmod = fmod.to_i
type_metadata = fetch_type_metadata(column_name, type, oid, fmod)
default_value = extract_value_from_default(default)
default_function = extract_default_function(default_value, default)
new_column(column_name, default_value, type_metadata, !notnull, table_name, default_function, collation, comment: comment.presence)
end
end Related methods
- Instance methods
- add_column
- add_index
- change_column
- change_column_comment
- change_column_default
- change_column_null
- change_table_comment
- client_min_messages
- client_min_messages=
- collation
- columns
- columns_for_distinct
- create_database
- create_schema
- ctype
- current_database
- current_schema
- data_source_exists?
- data_sources
- default_sequence_name
- drop_database
- drop_schema
- drop_table
- encoding
- extract_foreign_key_action
- fetch_type_metadata
- foreign_keys
- index_name_exists?
- index_name_length
- indexes
- new_column
- pk_and_sequence_for
- primary_keys
- recreate_database
- remove_index
- rename_column
- rename_index
- rename_table
- reset_pk_sequence!
- schema_exists?
- schema_names
- schema_search_path
- schema_search_path=
- serial_sequence
- set_pk_sequence!
- table_comment
- table_exists?
- tables
- type_to_sql
- view_exists?
- views