Если бы мне надо было поправить миграцию без роллбэка, то я бы сделал новую, которая внесла бы нужные измененияи.
А потом руками скопировал бы код из schema.rb
в старую миграцию, а новую миграцию оставил бы пустой.
Но я не могу представить зачем все это может быть нужно (у вас тут длинный разговор уже, лень искать ответ)