Обрабатывает файл порциями и не держит все записи в памяти
Зачем
Зачем это нужно
Использует устойчивый ключ и безопасно повторяет запуск после остановки
Разделяет валидные строки, обновления и ошибки в итоговой сверке
Вопросы
Частые вопросы
Одна большая транзакция или много маленьких?
Одна даёт полную атомарность, но долго держит блокировки, раздувает журнал и теряет весь прогресс при сбое. Пакеты проще повторять, если каждая операция идемпотентна. Модель подберёт размер по базе и цене частичного состояния, а не по случайной круглой цифре.
Как не создать дубликаты при повторе?
Определить настоящий внешний ключ и закрепить его уникальным ограничением, затем использовать upsert или явную обработку конфликта. Сравнение по названию ненадёжно. Модель отделит создание от обновления и запишет исходный номер строки, чтобы спорный результат можно было восстановить.
Что делать с плохими строками?
Не останавливать весь многомиллионный импорт из-за одной, если бизнес допускает частичный результат. Сохраните строку, номер и понятную причину в отдельный отчёт, затем исправьте и запустите только ошибки. Модель установит предел доли брака, после которого процесс всё же завершится неуспешно.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.