dev-toolings/superpowers-symfony115 installs
doctrine-batch-processing
Process large datasets with Doctrine (ORM 3 toIterable, flush+clear, bulk DQL) and memory management
How do I install this agent skill?
npx skills add https://github.com/dev-toolings/superpowers-symfony --skill doctrine-batch-processingIs this agent skill safe to install?
- Gen Agent Trust Hubpass
This skill provides technical guidance and code templates for efficient batch processing in PHP using Doctrine ORM. It focuses on memory management and performance optimization. The provided code examples follow security best practices, such as using parameterized queries to prevent SQL injection.
- Socketpass
No alerts
- Snykpass
Risk: LOW · No issues
What does this agent skill do?
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.
Guardrails
- Never
findAll()on a table that grows. - Entities loaded before a
clear()are detached: do not modify or persist them. - Bulk DQL and DBAL skip lifecycle events and listeners. Check what relies on them.
- On ORM 3,
Query#iterate()andsetSQLLogger()are gone: usetoIterable()and a logging middleware. - Paginate by id rather than by offset: offsets get slower and skip rows when data moves.
Progressive disclosure
- Use this file for execution posture and risk controls.
- Open references when deep implementation details are needed.
Output contract
- A batch loop with an explicit batch size and clear points.
- The choice between ORM, DQL bulk and DBAL for each write, with the reason.
- Memory measurements before and after on a realistic volume.
References
reference.md
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/dev-toolings/superpowers-symfony/doctrine-batch-processing">View doctrine-batch-processing on skillZs</a>