method
pk_and_sequence_for
v3.2.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter
pk_and_sequence_for(table)public
Returns a table’s primary key and belonging sequence.
# File activerecord/lib/active_record/connection_adapters/abstract_mysql_adapter.rb, line 504
def pk_and_sequence_for(table)
execute_and_free("SHOW CREATE TABLE #{quote_table_name(table)}", 'SCHEMA') do |result|
create_table = each_hash(result).first[:"Create Table"]
if create_table.to_s =~ /PRIMARY KEY\s+\((.+)\)/
keys = $1.split(",").map { |key| key.gsub(/`/, "") }
keys.length == 1 ? [keys.first, nil] : nil
else
nil
end
end
end Related methods
- Instance methods
- adapter_name
- add_column
- add_column_position!
- begin_db_transaction
- bulk_change_table
- case_insensitive_comparison
- case_sensitive_modifier
- change_column
- change_column_default
- change_column_null
- charset
- collation
- columns
- commit_db_transaction
- create_database
- create_savepoint
- create_table
- current_database
- disable_referential_integrity
- drop_database
- each_hash
- error_number
- execute
- execute_and_free
- indexes
- join_to_update
- limited_update_conditions
- native_database_types
- new_column
- pk_and_sequence_for
- primary_key
- quote
- quote_column_name
- quote_table_name
- quoted_false
- quoted_true
- recreate_database
- release_savepoint
- rename_column
- rename_table
- rollback_db_transaction
- rollback_to_savepoint
- show_variable
- structure_dump
- supports_bulk_alter?
- supports_index_sort_order?
- supports_migrations?
- supports_primary_key?
- supports_savepoints?
- table_exists?
- tables
- type_to_sql
- update_sql
- Class methods
- emulate_booleans
- new
- Protected methods
-
add_column_sql -
add_index_length -
add_index_sql -
add_timestamps_sql -
change_column_sql -
quoted_columns_for_index -
remove_column_sql -
remove_index_sql -
remove_timestamps_sql -
rename_column_sql -
translate_exception - Private methods
-
column_for -
supports_views?