Рейк всего за одну миграцию - PullRequest
86 голосов
/ 26 августа 2009

Я пытаюсь запустить только одну миграцию из целой связки в моем приложении rails. Как я могу это сделать? Я не хочу запускать какие-либо миграции до или после нее. Спасибо.

Ответы [ 11 ]

0 голосов
/ 06 октября 2016

Я использую эту технику в разработке, когда меняю значительное количество миграции, и я не хочу переходить на тонну и терять все данные по пути (особенно когда я импортирую устаревшие данные, которые долгое время, которое я не хочу снова импортировать).

Это 100% хакерский код, и я бы определенно не рекомендовал делать это на производстве, но это поможет:

  1. Переместить миграцию, которую вы хотите повторно запустить из своего каталога, во временное место
  2. Создать другую миграцию с тем же именем
  3. Скопируйте / вставьте исходный код миграции в новый сгенерированный файл миграции
  4. Запустить новую миграцию
  5. Удалить вновь созданный файл миграции
  6. Отредактируйте миграцию схемы, чтобы удалить самое последнее значение
  7. Восстановить старый файл миграции
...