2013-06-20 2 views
0

Существует миграция, которая была применена и передана в github. Он содержит собственный код, что означает «вниз». Фактически, метод «down» пуст. Я могу удалить db, и это нормально, поскольку в нем не так много данных.Отменить миграцию

Теперь мне нужно изменить эту миграцию, в частности, мне нужно полностью ее изменить. Поэтому мне нужно как-то отменить его, передать github и разрешить другим членам нашей команды.

Как это сделать?

Обратите внимание, что это не последняя миграция, после этого были и другие.

ответ

2

Я думаю, что лучше всего написать новую миграцию, которая выполняет отмену и нажимает , что. По мере того, как я собираюсь, миграция связана с изменением существующей базы данных, а не с созданием новой - вот почему у вас есть изменения в двух местах - миграции, а db/schema.rb - и некоторые люди на самом деле предлагают удалить старые миграции.

2

Вы можете создать новую миграцию или изменить миграцию, а затем применить ее к откату. Используйте VERSION, как указано в документах:

rake db: migrate # Перенос базы данных (опции: VERSION = x, VERBOSE = false).

rake db:migrate VERSION=x 
change your migration file 
git commit 
rake db:migrate 
+0

но как я могу сделать все члены моих команд делать это автоматически? –

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