cakephp-migration

Installation
SKILL.md

CakePHP バージョン移行ガイド(baserCMS)

CakePHP のアップグレードで遭遇した破壊的変更・非推奨と修正レシピ集。バージョン別に整理して育てる。PHP 本体起因(暗黙nullable・動的プロパティ等)は別スキル php-migration を参照。

収録: 5.0 → 5.1、5.1 → 5.2。バージョンの帰属は移行作業時の実観測ベース(厳密な導入版と差異がありうる)。新バージョン対応時は新しい「## X.Y → X.Z の変更」節を追記する。


大原則(全バージョン共通)

  • アップグレードは composer require を使う。composer update は使わない(依存全体が動くのを避ける)。 例: composer require cakephp/cakephp:"5.2.*" --update-with-dependencies
  • 「致命的エラー」と「非推奨警告」を区別する。デバッグモードでは非推奨警告が画面下部に表示され「エラー」に見えるが、logs/debug.logdebug: は警告(動作継続)。logs/error.log や Fatal/Exception が本当のエラー。
  • テスト大量失敗時は根本原因単位で分類する。数百件の失敗でも原因は十数種。フルログから例外を集計して systemic な原因を先に潰す(集計コマンド・切り分け手順は basercms-unittest スキル参照)。
  • regression と既存/環境failを切り分けるgit diff HEAD -- <file> で自分の変更対象か確認。未変更ファイルかつ fixture/プラグインロード依存(Plugin::isLoaded('X') が false/DIコンテナ未登録/英語↔日本語メッセージ不一致)なら移行起因ではなく環境要因。vendor が既に新版に入れ替わっているため単純な git stash ではクリーンな baseline は作れない

ユニットテストの実行方法・失敗の集計と切り分け手順は basercms-unittest スキルを参照。


Installs
43
First Seen
Jun 20, 2026
cakephp-migration — baserproject/baser-skills