Наиболее эффективный способ миграции данных из временной таблицы Django в основную таблицу?
У меня есть конвейер инженерии данных, который, по сути, выполняет ночное сканирование таблиц данных для заполнения основной таблицы с расчетами для просмотра внешними клиентами. Работа занимает около 6 часов.
Вместо удаления основной таблицы и записи вычислений за 6-часовой период, я записываю вычисления во временную таблицу (таким образом, в основной таблице остаются вычисления за предыдущий день, а сегодняшние вычисления генерируются).
После завершения, я пытаюсь заставить Django ORM по существу удалить основную таблицу и вставить все новые вычисления из временной таблицы в основную таблицу в транзакции.
Есть ли эффективный способ сделать это с помощью Django ORM? Спасибо!
Также обратите внимание, что временная модель и основная модель имеют абсолютно одинаковые копии полей.
Вы можете создать скрипт python внутри того же приложения моделей. Сценарий будет в основном использовать цикл for во временной таблице и извлекать данные полей. И передавать их в основную таблицу для добавления.
А поскольку они имеют одинаковые поля и, предположительно, одинаковые валидаторы, вам не нужно явно указывать имена полей при сохранении в основной таблице, просто передайте каждую строку из временной таблицы непосредственно в основную и сохраните.
INSERT INTO <maintable>
SELECT * FROM <temptable>;