method
index_name_exists?
v5.0.0.1 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::PostgreSQL::SchemaStatements
index_name_exists?(table_name, index_name, default)public
Verifies existence of an index with a given name.
# File activerecord/lib/active_record/connection_adapters/postgresql/schema_statements.rb, line 155
def index_name_exists?(table_name, index_name, default)
table = Utils.extract_schema_qualified_name(table_name.to_s)
index = Utils.extract_schema_qualified_name(index_name.to_s)
select_value( SELECT COUNT(*) FROM pg_class t INNER JOIN pg_index d ON t.oid = d.indrelid INNER JOIN pg_class i ON d.indexrelid = i.oid LEFT JOIN pg_namespace n ON n.oid = i.relnamespace WHERE i.relkind = 'i' AND i.relname = '#{index.identifier}' AND t.relname = '#{table.identifier}' AND n.nspname = #{index.schema ? "'#{index.schema}'" : 'ANY (current_schemas(false))'}, 'SCHEMA').to_i > 0
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