Migrations add_index

Hi all,

If I have the following migration:

class CreateDocuments < ActiveRecord::Migration
def self.up
create_table :documents do |t|
t.column :created_at, :datetime
t.column :identifier, :string
t.column :file_format, :string

add_index :documents, :identifier, :unique => true


def self.down
remove_index :documents, :identifier
drop_table :documents

Is it necessary (or recommended) to include the remove_index line in
the self.down method? I realize that dropping a table in MySQL will
automatically drop any indices on the table. However, I’m not sure if
this is the case for all databases. So would it be considered “good
style” to include the remove_index even though it’s normally a bit

it is good style to remove foreign indexes as apposed to local indexes.
All modern DB’s will drop the index pertaining to a column in this
table. The problem arises when an index in table “cats” is the foreign
key pointing to the id of table “dogs”

the index in “cats” must be removed to drop the “dogs” table.