laravel:upgrade-13 について
このスキルは、アプリケーションをLaravel 12からLaravel 13へアップグレードする開発者を支援します。依存関係の更新、破壊的変更の確認、検証手順をまとめています。
主な機能
- 01Laravel 13の前提条件確認
- 02依存関係の更新ガイド
- 03破壊的変更のチェックリスト
- 04テストと静的解析による検証
- 05主要サービスのステージング確認
活用シーン
- 01Laravel 12から13への更新計画
- 02影響を受けるキャッシュやキューのコード確認
- 03デプロイ前のアップグレード検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ jpcaparas/ superpowers-laravel --skill laravel:upgrade-13インストール後、Claude Code で/laravel:upgrade-13を入力して読み込まれたか確認します。
詳細
Laravel 13 へのアップグレード
Laravel 13(2026年3月リリース)は、意図的に小規模なアップグレードです。専用ブランチでこのチェックリストに沿って作業し、アップグレード前後にテストがすべて成功することを確認してください。
前提条件
- PHP 8.3 以降(13.x は PHP 8.3~8.5 をサポートし、8.2 はサポート対象外です)
- 作業開始前に 12.x でテストスイートがすべて成功していること
コマンド
# Bump core dependencies in composer.json
"laravel/framework": "^13.0",
"laravel/tinker": "^3.0",
"phpunit/phpunit": "^12.0",
"pestphp/pest": "^4.0"
sail composer update # or: composer update
# Verify
sail artisan about # or: php artisan about
sail artisan test --parallel # or: php artisan test --parallel
破壊的変更のチェックリスト
影響大:
VerifyCsrfTokenの参照をPreventRequestForgeryに置き換えてください(旧名称は非推奨のエイリアスです)。詳しくはlaravel:request-forgery-protectionを参照してください- PHP 8.3 が最低要件です。
composer updateの前に PHP をアップグレードしてください
影響中:
config/cache.phpにserializable_classes(デフォルトはfalse)が追加されます。キャッシュにオブジェクトとして保存するクラスを許可リストに追加してくださいupsert()はuniqueByが空の場合にInvalidArgumentExceptionをスローするようになりました。無効な SQL に依存せず、呼び出し元を修正してください- デフォルトのキャッシュプレフィックスとセッション Cookie 名が、アンダースコアからハイフンに変更されました。フレームワークのデフォルトに依存していた場合は、
.envでCACHE_PREFIX、REDIS_PREFIX、SESSION_COOKIEを固定してください(全ユーザーのログアウトやキャッシュのコールドスタートを防止できます)
影響小(該当する場合は確認してください):
- シリアライズされた Eloquent コレクションで、イーガーロードされたリレーションが復元されるようになりました(キュージョブに影響します)
JobAttemptedイベント:$exceptionOccurred(bool)から$exception(?Throwable)に変更されました。QueueBusy:$connectionから$connectionNameに変更されました- ルートのマッチング時に、ドメインルートがドメイン以外のルートより優先されるようになりました
- JOIN を含む MySQL の
DELETEで、ORDER BY/LIMITが黙って破棄されず、コンパイルされるようになりました - カスタムキャッシュストアには
touch()が必要です。カスタムキュードライバーにはサイズ確認メソッドが必要です
推奨事項
- メジャーバージョンは一度に 1 つずつアップグレードしてください。12.x から 13.x への手順を飛ばさないでください
- アップグレードガイド全文を読んでください:https://laravel.com/docs/13.x/upgrade
- Laravel Boost ^2.0 は、AI 支援による
/upgrade-laravel-v13のフローを提供します。便利ですが、PR と同様に差分を確認してください - 新しい 13.x の機能(属性、JSON:API リソース、AI SDK)は、アップグレード用 PR ではなく、後続の PR で導入してください
検証
- テストスイート全体と静的解析(PHPStan)がエラーなく完了すること
- アプリを起動し、セッションが保持され、キャッシュが正しくウォームアップされることを確認してください(プレフィックスの変更)
- 本番環境へのデプロイ前に、ステージング環境でキュー、スケジューラー、Webhook を動作確認してください
コメント
Markdown 対応