Каждый раз, когда вы создаете перенос с использованием сценариев (например, сценарий / генерировать модель ...), новая миграция добавляется в правильный каталог, готовый к синхронизации с реальной базой данных.
На самом деле rake rake db: перенести только те проверки, которые по-прежнему не требуются для переноса в базу данных, не заботясь о предыдущих.
Конечно, если вы измените базу данных, используя другие способы, вы можете получить из-за синхронных вещей, потому что, как вы сказали, вы можете применить миграцию к чему-то, что изменилось под ним.