Articles

Migration PrestaShop, notre approche

La migration de PrestaShop lors des refontes (version 1.6 à 1.7 ou 8.1) est souvent un sujet délicat et compliqué pour les ecommerçants :

  • J’ai plus d’un million de commandes, est ce que ça va passer ?
  • Est ce que tous mes modules sont compatibles ?
  • J’ai modifié la table ps_product, comment repartir sur de bonnes bases ?
  • Comment être sûr que tout s’est bien passé ?
  • Combien de temps va prendre la migration ?
  • ….

Chez Prestarocket, nous avons l’habitude de migrer des boutiques PrestaShop depuis plus de 10 ans maintenant et voici les étapes.

1ère étape, l’analyse de votre base de données Prestashop

Cette étape est nécessaire pour vérifier les tables custom à migrer, les datas à transformer ou encore vérifier si des tables du coeur ont été modifiées.

Il est rare d’avoir des projets client bien documentés ou historisés avec des outils comme git.

Pour cette première analyse, nous avons développé un outil interne en Symfony pour nous aider à comparer la base de données du client avec celle par défaut de PrestaShop.
Grâce à cet outil, nous avons une vision claire des modifications faites par le client ou par la précédente agence ecommerce.

migration-prestashop-1
migration-prestashop-2

2ème étape, migration Prestashop de test

Après avoir identifié et corrigé les défauts de la base de données du client, nous pouvons lancer une première migration de test sur une installation « fraiche » de la dernière version de PrestaShop car nous souhaitons partir sur une nouvelle boutique et sur laquelle nous allons ajouter les fonctionnalités au fur et à mesure.

Il existe différents modules de migration dont le module autoupgrade de PrestaShop mais avec ces modules, difficile de voir si quelque chose se passe mal ou encore, la migration peut être très longue et s’interrompre.
Nous avons aussi un module maison pour la migration (développé en Symfony); ce module de migration lance les requêtes une par une et nous alerte si quelque chose se passe mal ou si la requête est trop longue.
Grâce à cet outil, nous avons une vision très claire sur ce qu’il se passe et le temps nécessaire pour la migration finale.

L’outil génèrera un dump de la base de données migrée (uniquement les tables qui nous intéressent), qu’on importera dans la nouvelle boutique.

module-migration-prestashop

3ème étape, migration Prestashop des données custom et migrations intermédiaires

Après avoir migré les tables du coeur de PrestaShop, il faut maintenant s’attaquer aux données custom.
Par exemple, nous avons besoin de récupérer les tables du module payplug et de faire en même temps un upgrade du module. Pour cela, nous créons des scripts de migration custom qu’on lance après la migration principale et avant l’export final de la base de données.

4ème étape, migration finale !

C’est le grand jour, on met en ligne la nouvelle version de la boutique Prestashop !
Nous avons réalisé 3 à 4 migrations de test, corrigé les problèmes, réalisé les scripts de migration custom… nous sommes serein, nous avons juste à répéter les étapes.

Nous pouvons également automatiser cette étape avec mise en maintenance automatique de la boutique à 5h du matin, lancement de la migration automatiquement pour avoir une nouvelle boutique live à midi.
Sur les grosses boutiques (ex. : plus de 8 millions d’order détail), comptez environ 2h pour la migration et moins de 30 minutes pour les boutiques avec quelques dizaines de milliers de commandes .

Migration PrestaShop