Sayangnya, Anda harus membersihkan migrasi yang gagal untuk MySQL secara manual. MySQL tidak mendukung perubahan definisi basis data transaksional.
Rails 2.2 menyertakan migrasi transaksional untuk PostgreSQL. Rails 2.3 menyertakan migrasi transaksional untuk SQLite.
Ini tidak benar-benar membantu Anda untuk masalah Anda saat ini, tetapi jika Anda memiliki pilihan database pada proyek mendatang, saya sarankan untuk menggunakan database dengan dukungan untuk DDL transaksional karena membuat migrasi jauh lebih menyenangkan.
Pembaruan - ini masih berlaku pada tahun 2017, pada Rails 4.2.7 dan MySQL 5.7, dilaporkan oleh Alejandro Babio dalam jawaban lain di sini.