#Migrate Akeneo PIM projects
This chapter describes how to upgrade from a patch or minor version to a more recent one.
As a prerequisite, we assume that you are using a project installed from a Community Standard (Install Akeneo PIM).
#Patch Version
We frequently release patch versions, in order to provides security and bug fixes.
When fixing these issues, we take extreme care to avoid any backward compatibility break.
In the following example, Akeneo PIM version 2.0.2 has just been released and we are using an Akeneo PIM version 2.0.0.
You can check the CHANGELOG-2.0.md which lists the changes provided by each version.
Community Edition
Run the composer update command:
php composer.phar --prefer-dist update
Double check in the output of this command that the 2.0.2 version has been fetched, you can also check it by using the following command:
php composer.phar licenses
Then clean the cache, re-install assets and warmup the cache:
Before launching the following commands, remember to stop the daemon to avoid generating outdated cache.
service php7.1-fpm restart
rm -rf var/cache/* ./web/bundles/* ./web/css/* ./web/js/*
bin/console --env=prod pim:installer:assets
bin/console --env=prod cache:warmup
yarn run webpack
If the patch is a javascript fix, please clear your browser cache before testing.
We set any other dependencies to their exact patch versions to avoid compatibility issues. We strongly advise you to add the composer.lock in your versioning system.
If you get a 500 error after upgrading and clear cache isn’t working try to clear the apc cache with a php script or restart Apache/Web server.
Enterprise Edition
In your enterprise standard project, the composer.json will reference both community and enterprise bundles repositories.
To upgrade, please change the composer.json to:
{
...
"akeneo/pim-enterprise-dev": "2.0.2",
"akeneo/pim-community-dev": "2.0.2",
...
}
We always tag both community and enterprise versions with aligned version numbers, be sure to use the exact same version for CE and EE, for instance, a EE 2.0.2 fix may depend on CE 2.0.2.
Using the exact patch version will avoid any local composer cache issue.
Then run the composer update command:
php composer.phar --prefer-dist update
Then follow the same process as the one for the community edition:
Before launching the following commands, remember to stop the daemon to avoid generating outdated cache.
service php7.1-fpm restart
rm -rf var/cache/* ./web/bundles/* ./web/css/* ./web/js/*
bin/console --env=prod pim:installer:assets
bin/console --env=prod cache:warmup
yarn run webpack
For Akeneo Cloud environments, you can run the partners_clear_cache
command available on Partners.
#Minor Version
We release minor versions every 3 months, these versions bring new features.
Depending on these features and on the custom code you’ve added in your project, the migration can be more or less straightforward.
Each release is provided with a migration guide and a set of scripts to automate it as much as possible.
We continue to improve this process to make every new migration easier than the previous one.
Here are the migration guides:
Community Edition
- From v1.6 to v1.7
- From v1.5 to v1.6
- From v1.4 to v1.5
- From v1.3 to v1.4
- From v1.2 to v1.3
- From v1.1 to v1.2
- From v1.0 to v1.1
Enterprise Edition
Standard Enterprise Edition (EE) archives are available from the Portal.
Then, follow the migration guides located in your archive to upgrade your project.
- From EE v1.0 to EE v1.3: UPGRADE-1.3.md
- From EE v1.3 to EE v1.4: UPGRADE-1.4.md
- From CE v1.4 to EE v1.4: UPGRADE-CE-1.4-EE-1.4.md
- From EE v1.4 to EE v1.5: UPGRADE-1.5.md
- From EE v1.5 to EE v1.6: UPGRADE-1.6.md
- From EE v1.6 to EE v1.7: UPGRADE-1.7.md
#Major Version
We release major versions every year, these versions bring new features and larger changes to answer to growing needs.
To migrate from 1.7 to 2.0, we recommend the use of our brand new migration tool Transporteo.
We’re continuously improving Transporteo to cover more and more use cases and automate more and more the migrations.
Found a typo or a hole in the documentation and feel like contributing?
Join us on Github!