使用方法
- 复制安装命令,在自己的智能体环境安装前先检查源码包。
- 从原始文档核对所需工具、凭据和支持的宿主。
- 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/dev-toolings/superpowers-symfony --skill doctrine-migrations开始前需了解
- 安装不包含模型订阅、API 额度或访问文件的权限。
- 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。
Doctrine Migrations (Symfony)
Use when
- A mapping change needs a schema migration (new column, index or table).
- Reviewing a generated
make:migrationordoctrine:migrations:difffile before it is applied. - Rolling back a version, or deploying pending migrations to production.
- Tuning
doctrine_migrations.yaml(transactional,all_or_nothing,enable_service_migrations).
Default workflow
- Change the entity mapping, then generate the migration with
make:migrationordoctrine:migrations:diff. - Read every
addSql()line: a rename can appear as drop plus add, and index churn is common. - Write a real
down()that reversesup(), and keep one concern per migration. - Check
doctrine:migrations:status, preview withdoctrine:migrations:migrate --dry-run, then rundoctrine:migrations:migrate. - Roll back with
doctrine:migrations:migrate prevordoctrine:migrations:executewith--down. - With several entity managers, pass
--emto every migrations command.
Guardrails
- Never edit an already-applied migration: add a new one.
- Keep diff-generated migrations schema only; put data changes in a dedicated, idempotent migration or command.
- Keep the typed signatures
up(Schema $schema): voidanddown(Schema $schema): void. all_or_nothingis mostly effective on PostgreSQL, since most MySQL DDL commits implicitly.
Progressive disclosure
- Use this file for execution posture and risk controls.
- Open references when deep implementation details are needed.
Output contract
- Migration files with a reviewed
up()and a workingdown(). - Output of
doctrine:migrations:statusand the dry-run, plus the rollback command. - Any
doctrine_migrations.yamlchange and why.
References
reference.md




