У меня есть приложение с 35 миграциями, которые требуют времени для запуска (например, перед тестированием), поэтому я хотел бы их сквош.Использование новой начальной миграции для сквош-миграции
Команда squashmigrations
уменьшает операции с 99 до 88, но она все еще далека от оптимальной. Вероятно, это связано с тем, что у меня есть несколько операций RunPython
, которые не позволяют Django оптимизировать другие операции. Все эти операции RunPython
бесполезны в сжатой миграции, потому что база данных пуста. В Django 1.10 параметр elidable
позволит пропустить их в этом случае, но все же остается много беспорядка.
То, что я имел в виду для раздавленного миграции ближе к начальным миграции Джанго порождает, следовательно, мой вопрос:
Целесообразно использовать свежую начальную миграцию как раздавленный версии длинного списка миграций? Как бы Вы это сделали?
Спасибо! Как вы генерируете первоначальную миграцию? Вы перемещаете все текущие миграции в другую папку? – pintoch
Обычно я просто удаляю миграцию папок под каждым из моих локальных приложений. Обычно я использую PostreSQL. поэтому в простейшем случае я запускаю это: 'dropdb dbname && createdb dbname && rm -rf some_application/migrations && python manage.py migrate' –