doctrine-batch-processing
Installation
SKILL.md
Doctrine Batch Processing (Symfony)
Use when
- Processing more rows than fit in memory: imports, exports, backfills.
- A command or worker runs out of memory iterating over entities.
- Updating or deleting many rows at once.
- Inserting large volumes through Doctrine or DBAL.
Default workflow
- Measure the dataset size and the memory budget of the process.
- Stream reads with
toIterable(), or paginate by id (id > :lastId) for very large tables. - Flush and
clear()every N items, and re-fetch anything needed after a clear. - Use DQL
UPDATE/DELETEor DBAL for bulk writes that need no hydration. - Log memory usage and progress, and make the run resumable.