Leider müssen Sie fehlgeschlagene Migrationen für MySQL manuell bereinigen. MySQL unterstützt keine transaktionalen Datenbankdefinitionsänderungen.
Rails 2.2 enthält Transaktionsmigrationen für PostgreSQL. Rails 2.3 enthält Transaktionsmigrationen für SQLite.
Dies hilft Ihnen im Moment nicht wirklich bei Ihrem Problem, aber wenn Sie bei zukünftigen Projekten eine Auswahl an Datenbanken haben, empfehle ich die Verwendung einer mit Unterstützung für Transaktions-DDL, da dies Migrationen viel angenehmer macht.
Update – das gilt auch 2017, auf Rails 4.2.7 und MySQL 5.7, berichtet von Alejandro Babio in einer anderen Antwort hier.