2016-12-14 4 views
0

Последняя миграция, которую я выполнил, не была выполнена из-за ошибок. Он не может быть отменен с помощью rails db:rollback (и не с rake db:migrate:down VERSION=xxx), потому что эти команды пытаются сбросить базы данных, которые не были созданы (или что я уничтожил, чтобы попытаться решить проблему).Отменить миграцию без изменения схемы

Есть ли способ переключиться на down статус последней миграции и что он не пытается повлиять на базу данных?

Следующая работали: редактирование файла переноса, переименования метода change в up, добавляя пустой down метод, и снова запустить rails db:rollback. Тем не менее, мне было интересно, есть ли лучшее решение.

(Обратите внимание, что этот вопрос не о cleaning up the failures, но только о переходе последнего состояния миграции в down.)

ответ

3

Вы должны иметь schema_migrations таблицу в базе данных с помощью одного version столбца, который будет иметь числовую часть вашей миграции. Просто удалите эту строку.

+0

Это определенно лучшее решение. Я предполагаю, что нет никакой прямой команды для этого. – Codoscope

Смежные вопросы