- Home
- Skills
- Makfly
- Superpowers Symfony
- Doctrine Transactions
doctrine-transactions_skill
- Shell
69
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill makfly/superpowers-symfony --skill doctrine-transactions- reference.md7.0 KB
- SKILL.md1.1 KB
Overview
This skill helps evolve Symfony Doctrine models and database schema safely, emphasizing data integrity, runtime performance, and controlled rollouts. It guides transactional boundaries, mapping changes, and targeted testing to avoid regressions and runtime surprises. It produces concrete entity and migration changes plus validation and rollback notes.
How this skill works
The skill inspects entity ownership, cardinality, and transactional scopes to recommend mapping and migration changes. It evaluates fetch and query patterns to detect N+1 risks and over-fetching, then suggests tuning (fetch modes, joins, indexes). It outputs migration scripts or diffs, integrity decisions, performance trade-offs, and verification steps including tests and rollback plans.
When to use it
- Designing or refactoring entity relations and ownership
- Introducing schema evolution or database migrations in production
- Addressing performance issues caused by Doctrine fetch/query patterns
- Hardening transactional boundaries to prevent partial commits or data races
- Preparing staged rollouts for risky mapping changes
Best practices
- Model clear owning and inverse sides; keep associations coherent to avoid orphaned state
- Break destructive migrations into smaller, reversible steps across releases
- Define transaction boundaries around use-case intents, not ORM internals
- Tune fetch behavior for hot paths: prefer explicit joins or DTO queries over eager collection loading
- Verify lifecycle events and cascades with targeted unit and integration tests before rollout
Example use cases
- Convert a ManyToMany association into an explicit join entity with safe migration steps
- Split a large entity with many associations to reduce fetch cost on common queries
- Add a new nullable column, backfill data with batched migrations, then make it non-nullable in a later release
- Detect and eliminate an N+1 caused by lazy-loading collections on a critical endpoint
- Introduce optimistic locking or shorter transaction scopes to reduce contention on high-write tables
FAQ
It generates recommended migration changes and scripts or diffs, but you should review and test SQL before applying to production.
How does it handle large data backfills?
It recommends batched, idempotent backfills with progress checkpoints and rollback points to avoid long locks and to permit staged rollouts.