Чтобы снизить нагрузку на базу данных, наши разработчики перенесли устаревшие заказы в отдельные таблицы для архивации. При этом сохранили все данные: архивные заказы можно найти через обычный поиск и просмотреть все детали отгрузки, оплаты и т.п.
Чтобы автоматизировать архивацию заказов, мы разработали следующую функциональность: когда заказу исполняется, например, 1 год (или другое произвольное время, заданное администратором), все данные о заказе переносятся в архивную таблицу и освобождают место для активных заказов. Действие осуществляется по заданному расписанию с помощью CRON.
Специальный скрипт проверяет, корректно ли перенесены все свойства заказа в архивные таблицы. Если ошибок нет — заказ удаляется из основной таблицы. Эта проверка позволяет исключить потерю данных при архивации.
Если необходимо отключить архивацию для некоторых заказов, это можно сделать в ручном режиме через редактирование заказа.
Добавлены пользовательские поля в поиск по заказам. Теперь заказы можно искать не только по статусу, но и номеру телефона покупателя, стране, НДС и т.д.