使い方
- インストールコマンドをコピーし、自分の環境へ導入する前にソースを確認します。
- 必要なツール、認証情報、対応環境を原文で確認します。
- 入力と成果物を指定し、出力を資料と照合します。
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




