mcpField
L
laravel-migrations-and-factories

laravel-migrations-and-factories

github.com/noartemデータ・データベース1374 回インストール2 週間前に更新
リポジトリ

laravel-migrations-and-factories について

Laravel のマイグレーション、ファクトリー、テスト用データを扱うスキルです。変更のロールバックや、マージ済みマイグレーションの扱いを案内します。

主な機能

  1. 01モデルにマイグレーションとファクトリーを用意
  2. 02マージ済みマイグレーションを変更しない
  3. 03ファクトリーの状態で現実的なデータを作成
  4. 04テストでファクトリーとトランザクションを使用

活用シーン

  1. 01モデル用のマイグレーションとファクトリーを作成
  2. 02テスト向けの現実的なデータを準備
  3. 03データベース変更を安全にテストしてロールバック

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/noartem/skills --skill laravel-migrations-and-factories

インストール後、Claude Code で/laravel-migrations-and-factoriesを入力して読み込まれたか確認します。

詳細

マイグレーションとファクトリー

スキーマ変更を安全に、テスト可能に、元に戻せる状態に保ちます。

コマンド

php artisan make:model Post -mfc

# Run/rollback
php artisan migrate
php artisan migrate:rollback --step=1

# Fresh DB (dangerous; dev only)
php artisan migrate:fresh --seed

ルール

  • 新しいモデルには必ずマイグレーションとファクトリーを用意します
  • マイグレーションが main にマージされた場合は、決して編集せず、新しいマイグレーションを追加します
  • フィーチャーブランチでは、そのブランチで作成したマイグレーションがマージされていなければ、修正してもかまいません
  • シーダークラスでは現実的かつ最小限のデータセットを用意し、大規模なデータセットは外部に置きます

ファクトリー

  • ブール値フラグよりも、状態修飾子(例:->state([...]))を優先します
  • ファクトリーではリレーションシップ(例:belongsTo)を使い、現実的なグラフを構築します
  • ファクトリーは高速に保ち、可能であれば負荷の高いセットアップはシードに移します

テスト

  • テストではファクトリーを使用し、手動での挿入は避けます
  • データベースに触れる結合テストでは、トランザクションまたは RefreshDatabase を使用します

コメント