method
indexes
rails latest stable - Class:
ActiveRecord::ConnectionAdapters::MysqlAdapter
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v3.1.0) is shown here.
indexes(table_name, name = nil)public
Returns an array of indexes for the given table.
# File activerecord/lib/active_record/connection_adapters/mysql_adapter.rb, line 615
def indexes(table_name, name = nil)#:nodoc:
indexes = []
current_index = nil
result = execute("SHOW KEYS FROM #{quote_table_name(table_name)}", name)
result.each do |row|
if current_index != row[2]
next if row[2] == "PRIMARY" # skip the primary key
current_index = row[2]
indexes << IndexDefinition.new(row[0], row[2], row[1] == "0", [], [])
end
indexes.last.columns << row[4]
indexes.last.lengths << row[7]
end
result.free
indexes
end Related methods
- Instance methods
- active?
- adapter_name
- add_column
- add_column_position!
- add_limit_offset!
- begin_db_transaction
- bulk_change_table
- case_sensitive_equality_operator
- case_sensitive_modifier
- change_column
- change_column_default
- change_column_null
- charset
- clear_cache!
- client_encoding
- collation
- columns
- commit_db_transaction
- create
- create_database
- create_savepoint
- create_table
- current_database
- disable_referential_integrity
- disconnect!
- drop_database
- drop_table
- exec_delete
- exec_query
- exec_update
- exec_without_stmt
- execute
- indexes
- insert_sql
- join_to_update
- last_inserted_id
- limited_update_conditions
- native_database_types
- pk_and_sequence_for
- primary_key
- quote
- quote_column_name
- quote_string
- quote_table_name
- quoted_false
- quoted_true
- reconnect!
- recreate_database
- release_savepoint
- rename_column
- rename_table
- reset!
- rollback_db_transaction
- rollback_to_savepoint
- select_rows
- show_variable
- structure_dump
- supports_bulk_alter?
- supports_migrations?
- supports_primary_key?
- supports_savepoints?
- supports_statement_cache?
- table_exists?
- tables
- type_cast
- type_to_sql
- update_sql
- Class methods
- emulate_booleans
- new
- visitor_for
- Protected methods
-
add_column_sql -
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 -
configure_connection -
connect -
exec_stmt -
select -
supports_views? -
version