skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
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-processing
view source ↗

Is 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

  1. Measure the dataset size and the memory budget of the process.
  2. Stream reads with toIterable(), or paginate by id (id > :lastId) for very large tables.
  3. Flush and clear() every N items, and re-fetch anything needed after a clear.
  4. Use DQL UPDATE/DELETE or DBAL for bulk writes that need no hydration.
  5. 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() and setSQLLogger() are gone: use toIterable() 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

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>