2010-07-14 3 views
0

Это вопрос с рельсами о вариантах миграциирельсы откатываются назад, а затем разветвляются

Итак, у меня есть несколько уже существующих миграций. то есть в моем дб/Migrate/папки у меня есть некоторые файлы, как это:

  • 1_add_products.rb
  • 2_add_customers.rb
  • 3_add_addresses.rb
  • 4_add_tags.rb

и я 've ran "rake db: migrate", поэтому текущая версия - 4. Я хочу вернуться к версии 2 навсегда и начать разветвление оттуда. Поэтому я сделал «rake db: migrate VERSION = 2», и это верно вернуло изменения, чтобы отразить версию 2. Однако всякий раз, когда я запускаю «rake db: migrate» сейчас, он запускает все 4 миграции и возвращает меня в версию 4

Есть ли способ навсегда вернуться к одной ревизии, а затем начать ветвление оттуда? Могу ли я просто удалить миграцию 3 & 4 после того, как я вернусь к версии 2 ??

Причина, по которой я прошу, состоит в том, что после того, как я вернусь к версии 2, мне нужно добавить новые миграции и запустить «rake db: migrate», и я определенно не хочу, чтобы миграция 3 и миграция 4 были включены.

ответ

0

Удаление должно работать нормально. Просто убедитесь, что вы его откинули ВЕЗДЕ (разработка, постановка, производство), иначе вы столкнетесь с некоторыми странными проблемами.

И да, определенно откат THEN удаляет, иначе ваша база данных будет думать, что она находится в состоянии, которое на самом деле не существует.

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