mcpField
D
doctrine-migrations

doctrine-migrations

github.com/dev-toolingsデータ・データベース227101 回インストール3 週間前に更新
リポジトリ

doctrine-migrations について

Doctrine Migrations の作成、レビュー、適用、ロールバックを扱う Symfony 向けスキルです。スキーマ差分の確認、可逆なマイグレーション、状態確認、ドライラン、デプロイコマンドを案内します。

主な機能

  1. 01スキーママイグレーションの生成とレビュー
  2. 02可逆な up・down メソッドの作成
  3. 03マイグレーション状態の確認と実行プレビュー
  4. 04マイグレーションの適用とロールバック
  5. 05マイグレーション設定の調整

活用シーン

  1. 01マッピングに列・インデックス・テーブルを追加
  2. 02生成されたマイグレーション SQL をレビュー
  3. 03保留中のマイグレーションを適用またはロールバック
  4. 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)を調整する場合。

デフォルトのワークフロー

  1. エンティティのマッピングを変更し、make:migration または doctrine:migrations:diff でマイグレーションを生成します。
  2. すべての addSql() 行を確認します。リネームが削除と追加として表示されることがあり、インデックスの変更もよく発生します。
  3. up() を元に戻す実際の down() を記述し、1つのマイグレーションにつき1つの関心事に絞ります。
  4. doctrine:migrations:status を確認し、doctrine:migrations:migrate --dry-run でプレビューしてから、doctrine:migrations:migrate を実行します。
  5. doctrine:migrations:migrate prev、または --down を指定した doctrine:migrations:execute でロールバックします。
  6. 複数のエンティティマネージャーを使う場合は、すべてのマイグレーションコマンドに --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

コメント