Да, он запускает миграции, которые не были запущены в порядке префикса. В более ранних версиях рельсов, может быть, 2.1
или 2.2
, они нумеровались, начиная с 01
, но они переключились на временные метки.
Существует таблица, в которой отслеживаются выполненные миграции. Намерения состоят в том, что несколько разработчиков добавили миграции и позже проверили их в системе контроля версий. Таким образом, может быть миграция, которая не выполнялась, но имеет номер перед миграцией с наибольшим номером, которая выполнялась.
Если вы измените последовательность миграции (а у меня так и есть), лучше использовать первую версию перед всеми миграциями, которые вы повторно упорядочиваете. Используйте опцию VERSION
с db:migrate
. Если миграция с наибольшим номером, которую вы хотите сохранить (не запустить вниз), имеет номер 20120318143249
, назовите ее так.
rake db:migrate VERSION=20120318143249
Я часто запускаю миграцию и запускаю ее повторно, пока не получу подробные сведения о миграции, которые меня удовлетворят. Иногда я их переупорядочиваю, когда хочу поработать над одним из них, и хочу, чтобы оно было последним.
person
Marlin Pierce
schedule
04.05.2012