module ActiveRecord::ConnectionAdapters::SchemaStatements
def remove_index(table_name, column_name = nil, **options)
Concurrently removing an index is not supported in a transaction.
Note: only supported by PostgreSQL.
remove_index :accounts, name: :by_branch_party, algorithm: :concurrently
Removes the index named +by_branch_party+ in the +accounts+ table +concurrently+.
remove_index :accounts, if_exists: true
don't exist.
Checks if the index exists before trying to remove it. Will silently ignore indexes that
remove_index :accounts, :branch_id, name: :by_branch_party
Removes the index on +branch_id+ named +by_branch_party+ in the +accounts+ table.
remove_index :accounts, name: :by_branch_party
Removes the index named +by_branch_party+ in the +accounts+ table.
remove_index :accounts, column: [:branch_id, :party_id]
Removes the index on +branch_id+ and +party_id+ in the +accounts+ table if exactly one such index exists.
remove_index :accounts, column: :branch_id
Removes the index on +branch_id+ in the +accounts+ table if exactly one such index exists.
remove_index :accounts, :branch_id
Removes the index on +branch_id+ in the +accounts+ table if exactly one such index exists.
Removes the given index from the table.
def remove_index(table_name, column_name = nil, **options) return if options[:if_exists] && !index_exists?(table_name, column_name, **options) index_name = index_name_for_remove(table_name, column_name, options) execute "DROP INDEX #{quote_column_name(index_name)} ON #{quote_table_name(table_name)}" end