Как откат всего одного шага с помощью rake db: migrate

После добавления файлов миграции в папке db/migrate и запуске rake db:migrate, я хочу вернуться к предыдущему шагу, я думаю, что использование VERSION=n - правильный способ сделать это, но я не знаю правильного значение n для использования. Есть ли какая-нибудь команда для проверки текущего значения n?

Было бы здорово, если бы кто-нибудь мог предоставить полные инструкции о том, как использовать rake db:migrate.

Ответ 1

Для начала

rake db:rollback вернет вас на один шаг

то

rake db:rollback STEP=n

Сбросит назад n миграции, где n - количество последних миграций, которые вы хотите отменить.

Другие ссылки здесь.

Ответ 2

Откат последней миграции:

rake db:rollback

Откажитесь от последних изменений n:

rake db:rollback STEP=n

Вы можете найти полные инструкции по использованию задач миграции Rails для rake в Rails Guide для выполнения миграций.


Здесь еще несколько:

  • rake db:migrate - Запустите все миграции, которые еще не были запущены.
  • rake db:migrate VERSION=20080906120000 - Запустите все необходимые миграции (вверх или вниз), чтобы перейти к данной версии
  • rake db:migrate RAILS_ENV=test - Запуск миграции в заданной среде
  • rake db:migrate:redo - Откажитесь от одной миграции и запустите ее снова.
  • rake db:migrate:redo STEP=n - отбросить последние миграции n и запустить их снова
  • rake db:migrate:up VERSION=20080906120000 - Запустите метод up для данной миграции
  • rake db:migrate:down VERSION=20080906120000 - Запустите метод down для данной миграции

И чтобы ответить на вопрос о том, откуда вы получаете номер версии миграции, выполните следующие действия:

Версия представляет собой числовой префикс в имени файла миграции. Для пример, чтобы перейти на версию 20080906120000 run

$ rake db:migrate VERSION=20080906120000

(От Запуск миграции в направляющих Rails)

Ответ 3

Лучше всего запускается Частная миграция снова, используя вниз или вверх (в рельсах 4. Это изменяется)

rails db: migrate: up VERSION = timestamp

Теперь, как вы получаете метку времени. Перейти к этому пути

/дб/мигрировать

Идентифицируйте файл миграции, который вы хотите вернуть. Выделите метку времени из этого имени.

Ответ 4

Другие люди уже ответили вам, как откат, но вы также спросили, как определить номер версии миграции.

  • rake db:migrate:status содержит список версий, имени и статуса вашей миграции (вверх или вниз)
  • Также вы можете найти файл миграции, содержащий временную метку в имени файла, то есть номер версии. Миграции расположены в папке: /db/migrate