Upgrading from Magento <=2.2.x to 2.3.x


At some point you’re going to want to upgrade your Magento project from 2.0/2.1/2.2 to the latest 2.3.x release to take advantage of new functionality and many improvements. There are a few manual changes that get in the way of the standard composer update that you’re used to. Thankfully, to accommodate this obstacle a tool was included in the codebase to automate these changes for you.

Prep:

# Create a fresh Magento 2.3 project via composer (or clone the repo and switch to a 2.3 tag/branch, or grab the script by itself..) composer create-project --repository=https://repo.magento.com/ magento/project-community-edition=2.3 m23base # Change working directories to the upgrade tools directory in your new project cd m23base/dev/tools/UpgradeScripts

Execute:

# Run the 2.3 upgrade assistant against the root of the Magento project you’re intending to upgrade php -f pre_composer_update.php — —root=/path/to/magento-installation —repo=https://repo.magento.com/   Output: - Updated composer.json - Updated update/composer.lock - Updated update/dev/tests Change working directories to the root of the Magento project you’ve begun updating and complete the remaining steps. cd /path/to/magento-installation # Update Magento and all dependencies composer update # Clear the cache rm -rf /var/cache/* rm -rf /var/page_cache/* # Remove any generated code rm -rf /var/generation rm -rf /generated/code/* # Run Magento upgrade scripts php bin/magento setup:upgrade # Reindex after upgrade php bin/magento i:rei # Flush cache after reindex php bin/magento c:f

Reading:

Documentation: - https://devdocs.magento.com/guides/v2.3/comp-mgr/cli/cli-upgrade.html#upgrade-cli-script