Когда вы запустите команду rake db:migrate
, она сравнивает таблицы schema_migrations
таблицы и миграции, расположенные в папке db/migrate. Все миграции, которые не были выполнены, затем принимают MigrationClass#up
.
Итак, начиная с момента, когда ваш код уже опубликован и/или миграции выполняются другими пользователями, изменение временных меток/имен миграции может привести к необработанной процедуре миграции (поскольку schema_migrations
будет обрабатывать миграцию с измененной меткой времени как новую, необработанный, и попробуйте обработать его «снова»). Возможным обходным путем для этого было бы некоторое время прокомментировать содержимое метода up
и раскомментировать его после завершения миграции. Для удовольствия вы также можете манипулировать таблицей schema_migrations
непосредственно с вашей консоли db (добавление или удаление необходимых записей). Оба эти пути пахнут как хак.
До тех пор ... Все должно работать безупречно.