diff options
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/abstract')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb index 09d0a80ff2..76967c0fe0 100644 --- a/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb @@ -153,6 +153,13 @@ module ActiveRecord # The index will be named after the table and the first column names, # unless you pass +:name+ as an option. # + # When creating an index on multiple columns, the first column is used as a name + # for the index. For example, when you specify an index on two columns + # [+:first+, +:last+], the DBMS creates an index for both columns as well as an + # index for the first colum +:first+. Using just the first name for this index + # makes sense, because you will never have to create a singular index with this + # name. + # # ===== Examples # ====== Creating a simple index # add_index(:suppliers, :name) @@ -187,7 +194,10 @@ module ActiveRecord # remove_index :accounts, :column => :branch_id # Remove the index named by_branch_party in the accounts table. # remove_index :accounts, :name => :by_branch_party - + # + # You can remove an index on multiple columns by specifying the first column. + # add_index :accounts, [:username, :password] + # remove_index :accounts, :username def remove_index(table_name, options = {}) execute "DROP INDEX #{index_name(table_name, options)} ON #{table_name}" end |