У меня проблема при попытке откатить одну из моих миграций.Кажется, что Rails генерирует временную таблицу для миграции с временными индексами.Мой фактический индекс для этой таблицы меньше 64 символов, но всякий раз, когда Rails пытается создать для него временный индекс, он превращается в имя длиннее 64 символов и выдает ошибку.
Вот моя простая миграция:
class AddColumnNameToPrices < ActiveRecord::Migration
def self.up
add_column :prices, :column_name, :decimal
end
def self.down
remove_column :prices, :column_name
end
end
Вот ошибка, которую я получаю:
== 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
Я изменил имена столбцов, но пример все еще там.Я могу просто внести изменения во второй миграции, но это по-прежнему означает, что я не могу откатить миграции на этой таблице.Я могу переименовать индекс в новой миграции, но это все еще исключает меня из этой единственной миграции.
У кого-нибудь есть идеи, как обойти эту проблему?