Niestety, musisz ręcznie wyczyścić nieudane migracje dla MySQL. MySQL nie obsługuje zmian definicji transakcyjnych baz danych.
Railsy 2.2 zawierają migracje transakcyjne dla PostgreSQL. Rails 2.3 zawiera migracje transakcyjne dla SQLite.
To naprawdę nie pomaga w rozwiązaniu Twojego problemu w tej chwili, ale jeśli masz wybór bazy danych w przyszłych projektach, polecam użyć takiej z obsługą transakcyjnego DDL, ponieważ sprawia, że migracje są znacznie przyjemniejsze.
Aktualizacja – to nadal obowiązuje w 2017 r., w przypadku Rails 4.2.7 i MySQL 5.7, zgłoszone przez Alejandro Babio w innej odpowiedzi tutaj.