ZenCart not modular
Unlike some modern approach on open source program development where codes are mostly modular to avoid headache when there are upgrades involve in core program, ZenCart follow the conventional approach where customizations and third-party addons are apply directly to the core code base, this makes upgrading a little complicated if you are not familiar with programming.
NOTE: Go through the /docs/2.Readme-Upgrade.html in the latest version of ZenCart compressed file for the detail instructions on upgrade, there may be specific instructions that you need to follow for different releases.
NOTE 2: Before doing anything, backup your ZenCart store program files (FTP download all files and folders of your ZenCart store in to your computer) and backup MySQL database of your ZenCart store, this is needed for keeping a working copy of your store in case anything turn bad during the upgrade, a good backup can save you from loosing your entire store and quick restore.
Upgrade for standard ZenCart installations
Upgrading ZenCart can be easy and complicated, depending on your current installation, if you have just the standard setup without any modifications and third-party addons, then your upgrade is going to be easy :-
- Remember to backup your website and mysql database to your local computer
- create a new mysql database and grant access to this new database for the mysql user that you use to connect to the existing ZenCart database
- copy all data from your existing ZenCart database to this new database (i.e. newmysqldb), this process creates an identical database newmysqldb to your existing ZenCart database, we will be be using the new database for the upgrade process
- Download a copy of the latest compressed ZenCart program files, uncompressed it and upload them to a new folder (i.e. newzencart) in your hosting account
- copy both /includes/configure.php and /admin/includes/configure.php from your existing ZenCart program folder to the newzencart folder, and then change the mysql database name to the newmysqldb name, and change the path to your store to this new folder newzencart of both the configure.php file in newzencart folder, double check everything to ensure all are referencing this new ZenCart folder and the new MySQL database, this is important so that you do not mess up the existing ZenCart while you perform upgrade
- Open up your browser and enter http://www.yourdomain.com/newzencart/zc_install/ to start the installation process.
- NOTE: select Upgrade Database option instead of new install, upgrade will keep your current database and new install will create a clean empty database
- Uncheck all the steps and check the first step, when first step completes, follow be second, third, and so on, perform the upgrade steps one at a time so that you can isolate the problem and address them one at a time.
Upgrade for ZenCart store with customizations and third party addons
If you do have modifications and third-party addons apply to your ZenCart store, you will need some time to sit down and go through the release notes of the version you are going to upgrade to, and compare differences of files in your current installation and the upgrade version, you will need to merge the different code pieces to come out with a upgrade version + your customized codes + third party mods, you may need some handy file comparison tool like WinMerg, Beyond Compare, ExamDiff in Linux, BBedit for Mac. After comparing and merging files, you will then make use of this combined version of code to complete the final upgrade process.
It is recommended to go through the /docs/2.Readme-Upgrade.html in the latest ZenCart release compressed file for the complete detail instruction to upgrade your customized store, the first attempt is going to take some time but once you are familiar with the process, you should be quite ok in future upgrades.