laravel-migrations-and-factories について
Laravel のマイグレーション、ファクトリー、テスト用データを扱うスキルです。変更のロールバックや、マージ済みマイグレーションの扱いを案内します。
主な機能
- 01モデルにマイグレーションとファクトリーを用意
- 02マージ済みマイグレーションを変更しない
- 03ファクトリーの状態で現実的なデータを作成
- 04テストでファクトリーとトランザクションを使用
活用シーン
- 01モデル用のマイグレーションとファクトリーを作成
- 02テスト向けの現実的なデータを準備
- 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を使用します
コメント
Markdown 対応