Добавление моих 2 this к этому, потому что я столкнулся с этой же проблемой:
Если вы абсолютно хотите запустить миграцию заново, не создавая новую, вы можете сделать следующее:
rails dbconsole -p
devdb=# delete from public.schema_migrations where version = '20150105181157';
И rails "забудет", что он запустил миграцию на 20150105181157. Теперь, когда вы запустите db: migrate, он снова запустится.
Это почти всегда плохая идея. Единственный случай, когда это может иметь смысл, - это если у вас есть ветка разработки, и вы еще не конкретизировали свою миграцию и хотите добавить некоторые вещи к ней в процессе разработки. Но даже тогда лучше выполнить миграцию в двух направлениях, чтобы можно было правильно выполнить откат и повторить попытку.