method
primary_key
rails latest stable - Class:
ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v4.2.9) is shown here.
primary_key(table)public
Returns just a table’s primary key
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb, line 399
def primary_key(table)
pks = exec_query( SELECT attr.attname FROM pg_attribute attr INNER JOIN pg_constraint cons ON attr.attrelid = cons.conrelid AND attr.attnum = any(cons.conkey) WHERE cons.contype = 'p' AND cons.conrelid = '#{quote_table_name(table)}'::regclass, 'SCHEMA').rows
return nil unless pks.count == 1
pks[0][0]
end Related methods
- Instance methods
- add_column
- add_index
- change_column
- change_column_default
- change_column_null
- 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
- foreign_keys
- index_name_exists?
- index_name_length
- indexes
- new_column
- pk_and_sequence_for
- primary_key
- 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_exists?
- tables
- type_to_sql