doctrine-migrations について
Doctrine Migrations の作成、レビュー、適用、ロールバックを扱う Symfony 向けスキルです。スキーマ差分の確認、可逆なマイグレーション、状態確認、ドライラン、デプロイコマンドを案内します。
主な機能
- 01スキーママイグレーションの生成とレビュー
- 02可逆な up・down メソッドの作成
- 03マイグレーション状態の確認と実行プレビュー
- 04マイグレーションの適用とロールバック
- 05マイグレーション設定の調整
活用シーン
- 01マッピングに列・インデックス・テーブルを追加
- 02生成されたマイグレーション SQL をレビュー
- 03保留中のマイグレーションを適用またはロールバック
- 04複数のエンティティマネージャーのマイグレーションを管理
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dev-toolings/ superpowers-symfony --skill doctrine-migrationsインストール後、Claude Code で/doctrine-migrationsを入力して読み込まれたか確認します。
同梱ファイルreference.md
詳細
Doctrine Migrations(Symfony)
使用する場面
- マッピングの変更に伴ってスキーママイグレーションが必要な場合(新しいカラム、インデックス、テーブル)。
- 生成された
make:migrationまたはdoctrine:migrations:diffファイルを適用前に確認する場合。 - バージョンをロールバックする場合、または保留中のマイグレーションを本番環境にデプロイする場合。
doctrine_migrations.yaml(transactional、all_or_nothing、enable_service_migrations)を調整する場合。
デフォルトのワークフロー
- エンティティのマッピングを変更し、
make:migrationまたはdoctrine:migrations:diffでマイグレーションを生成します。 - すべての
addSql()行を確認します。リネームが削除と追加として表示されることがあり、インデックスの変更もよく発生します。 up()を元に戻す実際のdown()を記述し、1つのマイグレーションにつき1つの関心事に絞ります。doctrine:migrations:statusを確認し、doctrine:migrations:migrate --dry-runでプレビューしてから、doctrine:migrations:migrateを実行します。doctrine:migrations:migrate prev、または--downを指定したdoctrine:migrations:executeでロールバックします。- 複数のエンティティマネージャーを使う場合は、すべてのマイグレーションコマンドに
--emを指定します。
ガードレール
- 適用済みのマイグレーションは編集せず、新しいマイグレーションを追加します。
- diffで生成したマイグレーションはスキーマ変更のみとし、データ変更は専用の冪等なマイグレーションまたはコマンドに記述します。
- 型付きシグネチャー
up(Schema $schema): voidとdown(Schema $schema): voidを維持します。 all_or_nothingが主に有効なのは PostgreSQL です。MySQL の DDL のほとんどは暗黙的にコミットされるためです。
段階的な情報開示
- 実行方針とリスク管理にはこのファイルを使用します。
- 実装の詳細が必要な場合は、参照資料を開きます。
出力要件
up()を確認済みで、機能するdown()を備えたマイグレーションファイル。doctrine:migrations:statusとドライランの出力、およびロールバックコマンド。doctrine_migrations.yamlの変更内容とその理由。
参照資料
reference.md
コメント
Markdown 対応