method
indexes
rails latest stable - Class:
ActiveRecord::ConnectionAdapters::SQLite3Adapter
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v5.1.7) 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/sqlite3_adapter.rb, line 287
def indexes(table_name, name = nil) #:nodoc:
if name
ActiveSupport::Deprecation.warn( Passing name to #indexes is deprecated without replacement..squish)
end
exec_query("PRAGMA index_list(#{quote_table_name(table_name)})", "SCHEMA").map do |row|
sql = SELECT sql FROM sqlite_master WHERE name=#{quote(row['name'])} AND type='index' UNION ALL SELECT sql FROM sqlite_temp_master WHERE name=#{quote(row['name'])} AND type='index'
index_sql = exec_query(sql).first["sql"]
match = /\sWHERE\s+(.+)$/.match(index_sql)
where = match[1] if match
IndexDefinition.new(
table_name,
row["name"],
row["unique"] != 0,
exec_query("PRAGMA index_info('#{row['name']}')", "SCHEMA").map { |col|
col["name"]
}, nil, nil, where)
end
end Related methods
- Instance methods
- active?
- add_belongs_to
- add_column
- add_reference
- allowed_index_name_length
- arel_visitor
- begin_db_transaction
- change_column
- change_column_default
- change_column_null
- clear_cache!
- commit_db_transaction
- disable_referential_integrity
- disconnect!
- encoding
- exec_delete
- exec_query
- exec_rollback_db_transaction
- exec_update
- execute
- explain
- foreign_keys
- indexes
- last_inserted_id
- native_database_types
- new_column_from_field
- primary_keys
- remove_column
- remove_index
- rename_column
- rename_table
- requires_reloading?
- schema_creation
- supports_datetime_with_precision?
- supports_ddl_transactions?
- supports_explain?
- supports_foreign_keys_in_create?
- supports_index_sort_order?
- supports_multi_insert?
- supports_partial_index?
- supports_savepoints?
- supports_statement_cache?
- supports_views?
- update_table_definition
- valid_alter_table_type?
- Class methods
- new
- Private methods
-
alter_table -
column_definitions -
configure_connection -
copy_table -
copy_table_contents -
copy_table_indexes -
create_table_definition -
extract_foreign_key_action -
move_table -
sqlite_version -
table_structure -
table_structure_with_collation -
translate_exception