How To Safely Upgrade From Magento 1.7 To 1.9
One topic of discussion that always leaves room for debate among the Magento community is how to upgrade your Magento store. Due to the unique nature of each store, it’s easy to run into errors or complications. If you are trying to upgrade your Magento store from Magento 1.7.0 to Magento 1.9.1, the following tips and tricks may help streamline your process. These are not always mentioned in the tutorial guides, but can save you a lot of time and energy in the long run.
Step 1: Ensure You Have A Dev Environment
Depending on which web host you have, you can clone your live site either for free or for a small fee. This is called a “dev environment. ” Nexcess allows you to do this for $25. With this clone, you can edit and make changes on the dev environment without altering your live site. That way if something breaks or a problem is found, your live site will remain unaffected.
Step 2: Back Up Your Database And Magento Files
It is critical to backup your app folder. It contains third party modules and your child theme/custom theme. Before you upgrade, make sure you have a backed up file for this folder in case anything should happen. You can do this through SSH, but you can also download it via the ‘file manager.’ If you want to play it safe, download the folder via file manager or FTP. You can also download the js, media, skin, lib and package folders as well. There is no harm in having every key folder and file in the Magento install backed up, but do not forget to back up your app folder.
Step 3: Upload Magento 1.9 Files To Your Dev Magento Environment
Without having to worry about custom modules or themes being overwritten, all that happens here is the newer versions of core Magento files overwrite the older ones. This is perfectly safe and can be done via FTP or SSH. If you are comfortable moving what will be a ‘magento’ folder, which contains the files from the Magento 1.9 zip file, and moving its contents to the root magento install, SSH is for you. If not, don’t worry, just use FTP and grab some coffee as it will take some time. Once the files are replaced, run the url of your domain and you should see your site operating normally.
Check For Bugs/Errors
I found one compatibility issue with Google Checkout. Google Checkout discontinued service/support in November of 2013 so Magento 1.9 decided not to include it. Therefore, if you have Google Checkout module installed on 1.7 or prior, and then upgrade, you will see a conflict. The solution is to remove the Google Checkout folder from the ‘lib’ folder in the Magento root install. Back up your database, and then go into PhpMyAdmin. There, look at the ‘core_resources’ table, scroll through each page until you see a reference to Google Checkout and delete it.
After that, go into the core_config_data table and back it up. When you return to it, use this query: “Select * from core_config_data where path like ‘%google%’”. You will find one record with a path listing ‘google checkout’. Delete that.
Afterwards, delete app/code/core/Mage/Googlecheckout and then clear cache. You should be good to go.
Step 4: Back Up Database And App Folder
At this point, you should have a Magento 1.9 loading without errors. Just in case something may go wrong with the 1.9 upgrade, you should back up your database and app folder.
Step 5: Add Magento 1.9 Files To Your Root Web
At this point you are basically doing the same thing you did for step 3. Upload the files from version 1.9 to the root web and when you are done point your browser to the homepage. Afterward , visit the admin and check the footer. You should see it state Magento 1.9.
A Few Other Reminders:
1.) Always leave System –>Tools–>Compilation disabled in your admin.
2.) Do Not Rush This Process
The reason I say this is each situation is unique and your modules may involve custom code or extensions that were not meant for the upgrades (Such as the Google Checkout module). While you should be fine for the most part, it would be wise to review your extensions and confirm that the developer has ensured compatibility with 1.9. If not, try 1.8 and stay with that for the time being if you find something you depend on is not ready for that upgrade. While it may never be the case, it is always best to do as much research as you can and play it safe.