====== Upgradeprozess von CakePHP 4.x Apps zu 5.x ======
===== Vorbedingungen =====
* Lokal aufegsetztes Projekt.
* Projekt muss auf PHP 8.2 geupgradet sein
* ant reset-update läuft durch.
===== Checkliste =====
Das ist die Checkliste, welche berücksichtigt werden muss, wenn ein Projekt von CakePHP 4.x zu 5.x geupgraded wird.
- Sicherstellen das die Applikation auf php 8.2 läuft.
- CakePHP Upgrade tool in repo installieren
-
git clone https://github.com/cakephp/upgrade
composer install --no-dev
- CakePHP deprecations beheben:
-
bin/cake upgrade rector --rules cakephp50
-
bin/cake upgrade rector --rules cakephp51
-
bin/cake upgrade rector --rules cakephp52
-
bin/cake upgrade rector --rules cakephp53
-
bin/cake upgrade rector --rules cakephp54
- CakePHP migrations plugin Deprecations beheben:
-
bin/cake upgrade rector --rules migrations50
- CakePHP & cakephp/migrations Upgraden
- Mit Editor.
- Die corespondierenden versionen der Dependencies auf packagist suchen und diese ins composer.json schreiben.
- Temporär composer.lock löschen.
- Dependencies intallieren
- composer install
- Falls manche packages nicht kompatibel sind. In packagist suchen und neue version ins composer.json schreiben. Wiederholen bis composer install durchläuft.
- Deprecations beheben.
- Nun gibt es diverse deprecation die noch behoben werden müssen. Um die zu vereinfachen erlauben wir das Anzeifgen von deprecated errors in der Konfig.
- In defaults.php errorLevel aktualisieren
- 'errorLevel' => E_ALL & ~E_DEPRECATED zu 'errorLevel' => E_ALL
- Beim Ausführen der Applikation oder den Test sollten nun in der Konsolle Deprecated Meldungen ausgegeben werden diese müssen schrit für schritt abgearbeitet werden. Wie der code neu abgeändert werden muss kann man in den entsprechenden Migration guides nachschauen.
- https://book.cakephp.org/5.x/appendices/5-0-migration-guide.html
- https://book.cakephp.org/5.x/appendices/5-1-migration-guide.html
- https://book.cakephp.org/5.x/appendices/5-1-migration-guide.html
- https://book.cakephp.org/5.x/appendices/5-2-migration-guide.html
- https://book.cakephp.org/5.x/appendices/5-3-migration-guide.html
- https://book.cakephp.org/migrations/5/upgrades/upgrading-from-4-x.html
- https://book.cakephp.org/5.x/appendices/5-4-migration-guide.html
===== Nachbedingungen: =====
* Smoke-Test ergibt keine Fehler
* Ant reset-update läuft durch
* Ant create-artifact läuft durch