{"id":13684325,"url":"https://github.com/cakephp/upgrade","last_synced_at":"2025-06-25T23:07:18.933Z","repository":{"id":14030268,"uuid":"16732471","full_name":"cakephp/upgrade","owner":"cakephp","description":"Upgrade tools for CakePHP meant to facilitate migrating from one version of the framework to another","archived":false,"fork":false,"pushed_at":"2025-06-18T09:31:08.000Z","size":609,"stargazers_count":110,"open_issues_count":8,"forks_count":61,"subscribers_count":24,"default_branch":"5.x","last_synced_at":"2025-06-18T09:34:44.250Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cakephp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-02-11T14:02:53.000Z","updated_at":"2025-06-03T03:20:20.000Z","dependencies_parsed_at":"2024-03-20T16:50:31.085Z","dependency_job_id":"a50f4880-233d-4862-988a-9735336ab902","html_url":"https://github.com/cakephp/upgrade","commit_stats":{"total_commits":284,"total_committers":32,"mean_commits":8.875,"dds":0.7605633802816901,"last_synced_commit":"5fb08d8fe08f0d4a87197469122176993c7bc42e"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cakephp/upgrade","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cakephp%2Fupgrade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cakephp%2Fupgrade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cakephp%2Fupgrade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cakephp%2Fupgrade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cakephp","download_url":"https://codeload.github.com/cakephp/upgrade/tar.gz/refs/heads/5.x","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cakephp%2Fupgrade/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260531098,"owners_count":23023325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T14:00:32.240Z","updated_at":"2025-06-25T23:07:18.906Z","avatar_url":"https://github.com/cakephp.png","language":"PHP","readme":"# CakePHP Upgrade tool \n\n[![CI](https://github.com/cakephp/upgrade/actions/workflows/ci.yml/badge.svg)](https://github.com/cakephp/upgrade/actions/workflows/ci.yml)\n\nUpgrade tools for CakePHP meant to facilitate migrating between CakePHP 4.x\nversions and from CakePHP 4.x to CakePHP 5.x. This repository should be used as a standalone\napplication and *not* as a plugin.\n\n## Installation\n\nFirst clone this repository or download a zipball:\n\n```bash\ngit clone git://github.com/cakephp/upgrade\n```\n\nThen to install dependencies with `composer`\n\n```bash\nphp composer.phar install --no-dev\n```\n\n## Usage\n\nThe upgrade tool provides a standalone application that can be used to upgrade\nother applications or cakephp plugins. Each of the subcommands accepts a path\nthat points to the application you want to upgrade.\n\n## Upgrading between CakePHP 4.x versions\n\nWhen upgrading between CakePHP 4.x versions the `rector` command can automate\nupdates for many deprecation warnings. To get the most value from the `rector`\ncommand you should be sure to add as many typehints or parameter docblock\nannotations as you can. Without these annotations or typehints rector will not\nbe able to be as effective as it cannot infer types.\n\n```bash\ncd /path/to/upgrade\n\n# To apply upgrade rules from 4.3 to 4.4\nbin/cake upgrade rector --rules cakephp44 /path/to/your/app/src\n```\n\nThere are rules included for:\n\n- cakephp41\n- cakephp42\n- cakephp43\n- cakephp44\n\n## Upgrading from CakePHP 3.x to CakePHP 4.x\n\nThe upgrade tool is intended to be run *before* you update your application's\ndependencies to 4.0. The rector based tasks will not run correctly if your\napplication already has its dependencies updated to 4.x.\n\nOnce you have installed the upgrade tool dependencies there are several commands\nyou should run:\n\n```bash\ncd /path/to/upgrade\n\n# Run all upgrade tasks at once.\nbin/cake upgrade /home/mark/Sites/my-app\n\n# OR run upgrade tasks individually.\n# Rename locale files\nbin/cake upgrade file_rename locales /home/mark/Sites/my-app\n\n# Rename template files\nbin/cake upgrade file_rename templates /home/mark/Sites/my-app\n\n# Run rector rules.\nbin/cake upgrade rector /home/mark/Sites/my-app/src\nbin/cake upgrade rector /home/mark/Sites/my-app/tests\nbin/cake upgrade rector /home/mark/Sites/my-app/config\n```\n\n## Development\n\nTo ease installation \u0026 usage, this package does not\nuse `require-dev` in `composer.json` as the installed PHPUnit and\nCakePHP packages cause conflicts with the rector tasks.\n\nTo install dev-dependencies use `make install-dev`. Then you will be able to\nrun `vendor/bin/phpunit`. You can also use `make test` to install dependencies\nand run tests.\n","funding_links":[],"categories":["Migration"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcakephp%2Fupgrade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcakephp%2Fupgrade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcakephp%2Fupgrade/lists"}