В дополнение к предоставленному ответу (который хорошо показывает, как консолидировать ваш объем миграций), вы указываете на необходимость очистки данных (которые, как я полагаю, добавляются вручную после заполнения таблицами ваших таблиц);что означает, что вы зависите от обновления исходного состояния данных.Некоторые проекты действительно требуют интенсивного уточнения базовых данных, реконструкции и повторного заполнения таблиц.Наша работа в значительной степени зависит от повторного выполнения этих операций, и я обнаружил, что если вы сможете полностью свести свою схему к операторам выполнения SQL, ваши таблицы будут перестраиваться намного быстрее, чем из синтаксиса Ruby.
Еще одна простая помощь в восстановлении ваших таблиц состоит в том, чтобы выделить отдельное окно терминала для одного комбинированного оператора:
rake db: drop db: create db: schema: load db: fixtures:load
Каждый раз, когда вам нужно перестроить и заново заполнить ваши таблицы, стрелка вверх и нажатие клавиши возврата выполнят эту обычную работу.Если в операторах выполнения SQL нет конфликта и если у вас нет дальнейших миграций, когда проект находится в состоянии разработки, операторы SQL будут выполняться, возможно, в два раза быстрее, чем синтаксис Ruby.Например, наши таблицы перестраиваются и переполняются за 20 секунд, тогда как синтаксис Ruby увеличивает процесс до более чем 50 секунд.Если вы ожидаете обновления этих данных для выполнения дальнейшей работы (особенно много раз), это имеет огромное значение в рабочем процессе.