If your online shop is running on PrestaShop ecommerce platform, bear in mind you need to follow the release of new versions and upgrade the system in case there is one. This way you will ensure the maximum functionality and compatibility with the newest modules and extensions for your online store.
In this article we will consider two ways of PrestaShop upgrade – manual and with the help of a module – and describe it step-by-step.
Table of contents:
PrestaShop upgrade method 1: Manually
Step #1: Download the latest version.
Go to www.prestashop.com/ to download the latest PrestaShop 1.7 version.
In case you are upgrading PrestaShop 1.6, find the release files in a files archive here.
Bear in mind that in the version 220.127.116.11 download can also be done with the following command:
wget -O prestashop-upgrade.zip https://www.prestashop.com/download/old/prestashop_18.104.22.168.zip
Step #2: Extract the archive
Extract the files from the archive you have downloaded. Bear in mind that starting from PrestaShop 22.214.171.124, there is another zip archive in the release package which you also need to extract.
As a result of the extraction, you will get folders like classes/, modules/, themes/.
Step #3: Clean up sample files
Try to avoid the situation of production resource overwrite with the default data. Also, folders img/ and overrides/ can be removed from the release.
As for the other existing files, they will be overwritten by the new one from the release, and all the individual changes you might have introduced to the original code will be lost.
Moreover, it is recommended to change the “admin” folder for your shop’s admin folder name in order to prevent administration content from duplication.
Step #4: Turn on the maintenance mode
Now let’s perform shop modification, and since during this period the shop will be highly unstable, it’s highly advisable to turn on the maintenance mode during this time. To do this, go to:
in PrestaShop 1.6 – to Shop parameters -> Maintenance;
in PrestaShop 1.7 – to Shop parameters -> General -> tab Maintenance.
To gain access to the front office at the maintenance mode and make sure everything is working correctly, add your IP address into the Maintenance IP field.
Step #5: Copy the new release content
In this step we upgrade the existing PrestaShop files to the new version.
For this you need to copy the content of the new folder and paste it in the shop folder. The system will inform you this file already exists, and you will need to choose to “overwrite” to proceed.
Also, note that at the previous PrestaShop upgrades conflicts occurred when the new vendor or folder was merged with the old one. If you come across such a problem, try to delete the old folder before moving in the new one.
Step #6: Upgrade database
As the files are copied, you may proceed with PrestaShop database upgrade.
The “install” folder contains all the further changes to apply, and you need to implement a specific PHP script – “install/upgrade/upgrade.php” to run them.
This process can also be performed with a browser – go to the address http://<shop_domain>/install/upgrade/upgrade.php.
Whether you chose the 1st or the 2nd method, as a result you shall get an XML log. The result attribute of the first <action> tag will contain the result:
ok if the update has been successfully executed
error if an error occurred
info you are provided instruction for the further actions
If the upgrade script determined some upgrades to apply, the SQL queries to be executed will be listed together with their corresponding result.
<?xml version="1.0" encoding="UTF-8"?><action result="ok" id="">
<action result="info" id="126.96.36.199"><![CDATA[[OK] PHP 188.8.131.52 : /* PHP:ps_update_tabs(); */]]></action>
<action result="info" id="184.108.40.206"><![CDATA[[OK] SQL 220.127.116.11 : ALTER TABLE `ps_currency` MODIFY `name` varchar(64) NOT NULL]]></action>
<action result="info" id="18.104.22.168"><![CDATA[[OK] SQL 22.214.171.124 : SET SESSION sql_mode = '']]></action>
<action result="info" id="126.96.36.199"><![CDATA[[OK] SQL 188.8.131.52 : SET NAMES 'utf8']]></action>
It is advisable that you make sure each action is marked with OK. If not, the system will provide the information on how to manually fix the issue and re-execute the request on the database. In some cases you may even need to start over the database backup.
Error codes and what they mean
At times you may get an error code during the update; each error has a certain message, which is important to know:
- Error #27: The version of the shop is newer than the one from the installed folder.
- Error #28: The version you are trying to upgrade to is already installed in the shop.
- Error #29: The current version cannot be found. You need to check your database parameters file and connection.
- Error #31: Upgrade directory cannot be found in the installation path; check if the install/upgrade/sql folder exists and is not empty.
- Error #32: Your shop needs no upgrade.
- Error #33: Error with SQL upgrade file loading. You need to the permissions of the install/upgrade/sql folder.
- Error #40: The version from the install/install_version.php file is invalid.
- Error #43: Error with database schema upgrade using doctrine.
- Error #44: Error with translation update.
- Error #45: Error with theme enabling.
Step #7: Cleanup
Before you proceed, you will have to clean up the “install” folder which used to run the database upgrades. You may also experience certain visual issues as you open your shop in the browser; this happens if the old assets still remain in the сaсhe. To fix this, refresh the page or clear the browser’s сaсhe.
Step #8: Upgrade modules
Some modules will be upgraded together with the whole system, however, some of them may require your personal attention. To make sure that all modules have been upgraded, log into the admin panel and navigate to Improve tab -> Modules -> Module manager. In the Updates tab you will see all the modules in need of the upgrade.
PrestaShop upgrade method 2: 1-click upgrade module
If you find the manual upgrade process too tedious, there is an alternative – a free module 1-click update, which will automatically execute the described above course of actions.
Step #1: Download the module
Follow the link https://addons.prestashop.com/en/data-migration-backup/5496-.html to download the 1-click upgrade module from the PrestaShop marketplace.
Step #2: Install the module
Go to Improve tab -> Modules -> Module manager and click the Upload the module button in the upper right corner. Choose the 1-click upgrade module zip from the folder tree.
Step #3: Implement the module
The installed module will welcome you with the Preupgrade Checklist; before you proceed with the upgrade, make sure every point here has a green tick.
Then you may choose what type of upgrade you wish to run.
It is also highly advisable to let the module make a backup; in this case it may roll back to the previous version if the upgrade goes wrong.
Finally, specify the Upgrade Options (Server Performance, Disable non-native modules, Upgrade the default theme, Switch to the default theme and Keep the customized email templates) and click Save.
If the configuration is chosen and all options are valid, the Upgrade Now button will be available. Click it to launch the upgrade. When the process will be completed, the Upgrade successful message will appear.
In this article I have shown you the two ways of PrestaShop version upgrade, and it’s up to you which to resort to. The manual upgrade allows you to completely control the process and introduce certain custom changes to the system if you wish to. Upgrade via the module requires less time, effort and knowledge and will be a better alternative for those who want to get the upgrade done without any modifications.