Note: This upgrade is only for Magento 1.x, so you should upgrade from 1.7 to 1.8, 1.8 to 1.9. You shouldn’t upgrade directly from very old version to newest version.
You should also read for an overview:
Now, get back to our main subject: How to update from Magento 1.7 to Magento 1.9.3
Step 1: Backup code & database, download them all to your local computer. Localhost is the best way to upgrade, you shouldn’t upgrade directly on server.
Step 2: Setup a local fresh 1.7 version, please make sure it works well without any issue. Then you’ll exactly have the live site on your computer.
Step 3 (Only for technical developers): Verify whether Magento’s core is changed. Convert all core changes into extensions (of course, if necessary). Please be careful because Magento patches could be installed before.
Step 4: List all the extensions we have in the current version, so we can have a checklist to review later (1).
Step 5: Review themes and prepare the list of all directories, files related to the themes (normally the directories are code/community, code/local, design/frontend/theme, design/adminhtml/theme, media, skin, js) (2).
Step 6: Setup a local fresh 1.8 version, then connect the code to database of 1.7 (you can even duplicate db 1.7 and work with this new one). It will be done by:
+ Make change in app/etc/local.xml
+ Edit core_configure_data table
Step 7: Verify and fix any issue when finishing upgrading.
Step 8: Now we havedatabase of 1.8
Step 9: Set up another higher Magento version (for example 188.8.131.52) and connect the code to database of 1.8 above. Verify and fix any issue when finishing upgrading.
Step 10: Do the same steps until we have code and database of the latest Magento 1.9.3.
Step 11: Move extensions to 1.9.3 directory, use (1).
Step 12: Move themes to 1.9.3 directory, use (2).
Step 13: Verify and fix any issue when finishing upgrading.
Step 14: We now have 1.9.3 version at localhost.
Step 15: Go live: there are 2 ways:
15.1: If the live site can be disabled during our upgrading time, we can move all local versions to live server.
15.2: If the live site gets new orders, new customers at real time => we have to take it down in 2 hours at least and do the same steps from #1 to #14 on the live server. Of course, it’s much easier because we know all the bugs when we work at localhost.