Updating from OXID eShop 6.5 to OXID eShop 7.0
Update your OXID eShop to OXID eShop version 7.
Before you update to OXID eShop version 7, you have make sure that you meet the technical requirements for the update:
You have OXID eShop Version 6.5.
To get to OXID eShop Version 6.5, you have performed the required incremental updates.
For more information, see Updating to OXID eShop 6.5.
If you use third-party modules or themes, you have ensured the compatibility of the third-party modules.
To do so, you have asked the third-party vendor if these themes and modules are compatible with version 7 of OXID eShop.
For updating existing modules from OXID eShop 6.5.x to OXID eShop 7, see Updating modules.
Avoid data loss.
Make a backup of your database. Make a backup of your current shop installation (all files etc.).
We recommend to test the update procedure on a copy/development installation of your shop first, to become familiar with the process.
To execute commands via the command line, open a shell in the shop root directory and run commands in there.
var/configurationfolder, make a backup of the
shopsfolder that contains a
<shop-id>.yamlfile for each subshop.
If your OXID eShop has no subshops, there is only the
var/configuration/shops/1.yamlfile to back up.
Backup the folder/file to where it cannot be overwritten by the following update process.
Decode the values in the following data table columns:
This can be done automatically as described in the following steps:
Make sure that you follow the order of the steps.
Background: After executing the
decode-config-valuescommand, the shop and console will be down until it is fully updated to OXID 7.
(1.) Install the OXID eShop update component.
composer require --no-interaction oxid-esales/oxideshop-update-component:^v2.0.0
(2.) Clean the shop cache by calling the appropriate console command from shop root directory.
(3.) Execute the
(4.) Execute the
(5.) To uninstall the OXID eShop update component, execute the following command:
composer remove --update-no-dev --no-plugins --no-interaction oxid-esales/oxideshop-update-component
composer.jsonfile, update the metapackage version depending on your current edition (CE, PE, or EE) of your OXID eShop.
composer require --no-update oxid-esales/oxideshop-metapackage-<ce/pe/ee>:v7.0.0
Remove or update the following packages from the
require-devssection of your composer.json.
Those packages as given in the OXID eShop 6.5 metapackages are not compatible with OXID eShop 7.
"oxid-esales/testing-library": "^v8.2.0", "incenteev/composer-parameter-handler": "^v2.0.0", "oxid-esales/oxideshop-ide-helper": "^4.2.0", "oxid-esales/azure-theme": "^v1.4.2"
Update the dependencies.
Optional: If you don’t need the development-related files, specify the --no-dev parameter.
composer update --no-plugins --no-scripts --no-dev
This command ensures that all required libraries are updated by Composer.
Nevertheless, the shop is not yet fully updated to OXID 7 at this point. For this we need to complete the next steps as well.
To fully install the new compilation for OXID eShop 7, make sure Composer also runs the scripts and plugins.
To do so, execute the command given below the following notes.
The update overwrites any changes you may have made to themes in the
Background: During an update, Composer first loads the new data into the
vendordirectory. Then the data is copied to the
sourcedirectory. This replaces the files of the store and the themes.
Your individual customizations of the OXID eShop or changes to third-party modules are only safe from being overwritten by the update if you have made the changes through one of the OXID eShop’s extension options (component, module, child theme).
For more information, see the developer documentation under
During the update you will be asked which packages may be overwritten.
To ensure that only compatible and tested packages are installed and to avoid inconsistencies and malfunctions caused by incorrectly implemented modules or themes, confirm the queries with Yes.
Recommendation: If you use the extension capabilities of OXID eShop, in the developer documentation, follow the instructions under Project wide development, modules, themes and components.
composer update --no-dev
Result: With this step, OXID eShop Compilation 7 and all modules delivered with the compilation are installed. Note that they are not yet activated.
Migrate the database.
To do so, execute the following command.
Regenerate the database views.
Background: After database changes like done in the previous step by migrations, views need to be updated. Otherwise you risk the shop going into maintenance mode.
To prevent this, regenerate the database views with the following command:
Avoid receiving a large number of warnings. To do so, doublecheck your server’s PHP error reporting settings.
Background: With OXID eShop 7 ,
error_reporting()calls have been removed from the
We recommend setting the following:
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING & ~E_DEPRECATED;
To clean up your system, from the
source/modulesfolder, remove the subfolders containing the previously installed, now unused module files.
Do not delete the
To ensure that the cached items do not contain incompatibilities, clear the cache files in the
To do so, execute the following command.
In the Admin panel, under, activate a Twig-compatible theme (APEX theme in default installation case).
If you don’t use the default APEX theme, ensure that your custom theme is compatible with the Twig engine.
Background: The OXID eShop Compilation 7 comes with the Twig template engine and the APEX theme.
If the shop doesn’t work, update your code and modules according to the information under Adjust removed functionality.
Module configuration and class chain
The structure of the
./var folder is different in OXID eShop 6.5 and 7. New structure example:
Keep in mind the following: In the current state of the Shop update, only OXID eShop 7 compilation modules are installed. So, install additionally needed compatible modules for OXID eShop 7 if necessary.
The default class extension chains depend on the order in which composer installed those modules.
If you need a customized order for class extensions, you can use your customized class chains from
<shop-id>.yaml file that you have backed up in step 1 as an example.
If you like to reuse module settings from the
<shop-id>.yaml file that you have backed up in step 1, refer to
Configuring modules via providing configuration files.