title: Temporary index name too long in Rails migration
body: <p>I've got a problem trying to rollback one of my migration. It seems as if Rails is generating a temporary table for the migration, with temporary indices. My actual index on this table is less than 64 characters, but whenever Rails tries to create a temporary index for it, it turns into a name longer than 64 characters, and throws an error.</p>
  
  <p>Here's my simple migration:</p>
  
  <pre><code>class AddColumnNameToPrices &lt; ActiveRecord::Migration
    def self.up
       add_column :prices, :column_name, :decimal
    end
  
    def self.down
      remove_column :prices, :column_name
    end
  end
  </code></pre>
  
  <p>Here's the error I'm getting:</p>
  
  <pre><code>==  AddColumnNameToPrices: reverting ============================================
  -- remove_column(:prices, :column_name)
  rake aborted!
  An error has occurred, this and all later migrations canceled:
  
  Index name 'temp_index_altered_prices_on_column_and_other_column_and_third_column' on table     'altered_prices' is too long; the limit is 64 characters
  </code></pre>
  
  <p>I've changed the column names, but the example is still there. I can just make my change in a second migration, but that still means I can't rollback migrations on this table. I can rename the index in a new migration, but that still locks me out of this single migration.</p>
  
  <p>Does anyone have ideas on how to get around this problem?</p>