Migration vers Magento 2 Migration du site

Dans le précédent article de cette série, j’avais donné un aperçu du processus de migration Magento et discuté des avantages et des inconvénients à prendre en compte lors de la planification de votre migration. Dans cet article, nous allons creuser un peu plus dans les détails techniques sales du processus de migration actuel.

Mise à niveau de l'outil de migration

Comme nous avons déjà installé l'outil de migration Magento en suivant les instructions de l'article précédent, l'étape suivante consiste à le configurer correctement pour une migration réussie. Avant de procéder à la configuration de l'outil de migration, vous devez vérifier que la version de votre outil de migration correspond à votre version d'installation de Magento. Dans le cas contraire, vous devez mettre à jour la version de l'outil de migration..

Si vous migrez vers Magento version 2.0.0, vous devez disposer de l'outil de migration version 2.0.0, de même que si vous possédez Magento version 2.0.2, vous avez besoin de l'outil de migration version 2.0.2. En cas d'incompatibilité de version, la migration échouera, car différentes versions de Magento peuvent avoir différentes structures de base de données et nécessitent des mécanismes de mappage différents..

Pour vérifier la version de votre nouvelle installation Magento, utilisez la commande suivante:

php / bin / magento --version

Maintenant, vérifiez la version de l'outil de migration Magento. Pour ce faire, accédez au répertoire de votre outil de migration et ouvrez le fichier composer.json. L'emplacement de ce fichier ressemblera à ceci:

Répertoire racine Magento / vendor / magento / data-migration-tool / composer.json

Dans ce fichier, trouvez la valeur de version, et c'est la version de votre outil de migration. Si la version de Magento et l'outil de migration correspondent, vous êtes prêt à passer à l'étape suivante. Cependant, dans le cas contraire, vous devez modifier la version de l'outil de migration pour qu'elle corresponde à la version de Magento..

Avant de procéder à la mise à niveau, effectuez une sauvegarde du répertoire data-migration-tool, car le processus de mise à niveau modifiera le contenu de ce dossier. En cas de problème, vous risquez de ne pas pouvoir récupérer le fichier d'origine. pas de sauvegarde. Une fois la sauvegarde effectuée, accédez simplement au répertoire racine Magento de votre serveur et entrez la commande suivante:

Composer nécessite magento / data-migration-tool: 2.0.2

La dernière chose dans la commande est votre version de Magento. Dans ce cas, c'est 2.0.0. Si le vôtre est différent, changez-le en conséquence.

Maintenant que nous disposons des versions correspondantes de Magento et de l'outil de migration, il est temps de configurer l'outil de migration correctement..

Configuration de la migration

Pour configurer la migration Magento, vous devez créer / mettre à jour le fichier de configuration et les fichiers de mappage. Vous pouvez trouver ces fichiers dans cet emplacement de dossier:

Répertoire racine Magento2 / vendor / magento / outil de migration de données / etc / ce-to-ce

Dans cet article, je présente l’édition de la communauté à la migration de l’édition de la communauté. Le dernier dossier du chemin ci-dessus est donc ce-à-ce, ​​mais si vous utilisez l’édition entreprise, ce sera ee au lieu de ce.

La création d'un fichier config.xml correctement configuré est indispensable avant toute migration. Pour créer le fichier config.xml, connectez-vous à votre serveur Magento et accédez à ce répertoire:

/ vendor / magento / outil de migration de données / etc // ce

Utilisez cette commande pour créer le fichier de configuration:

cp config.xml.dist config.xml

Maintenant, une fois créé, ouvrez-le dans n’importe quel éditeur de texte et insérez-le dans le code exemple suivant:

       magento1 Regardez le répertoire racine de Magento 1 / app / etc / local.xml 

Ici le hôte, prénom et utilisateur les champs des bases de données source et de destination sont obligatoires. Également clé_crypt Ce champ est obligatoire. Le reste des champs comme base de données mot de passe et préfixe_source sont optionnels.

le clé_crypt field devrait avoir la même clé que celle qui se trouve dans la balise key du fichier local.xml, qui se trouve dans ce répertoire:

/app/etc/local.xml

Maintenant que nous avons créé le fichier config.xml, la prochaine étape facultative consiste à mettre à jour les fichiers de mappage. L'outil de migration utilise des fichiers de mappage pour effectuer le mappage de la base de données de Magento 1 à Magento 2. Les fichiers de mappage contiennent des informations sur la modification des noms de table et de champ de la base de données, les tables et les champs pouvant être ignorés et d'autres informations similaires. Vous pouvez trouver les fichiers de mappage dans ce répertoire:

/ vendor / magento / data-migration-tool / etc

Parcourez ces fichiers et, si vous avez besoin de les mettre à jour, faites une copie du fichier à modifier et supprimez le nom de fichier .dist. Par exemple, si vous utilisez le fichier map.xml.dist, effectuez une copie de ce fichier sous le nom map.xml. Une fois que vous avez fini de les éditer, vous devez mettre à jour le fichier config.xml avec le nouveau nom de fichier dans le noeud facultatif. Si vous avez ajouté le fichier map.xml, le code du fichier config.xml créé précédemment ressemblera à ceci:

       magento1 Regardez le répertoire racine de Magento 1 / app / etc / local.xml etc / ce-to-ce / 1.9.1.0 / map.xml.dist  

Migration des paramètres, des données et du delta

Maintenant que nous en avons terminé avec la planification de la migration, les installations, les configurations, etc., commençons le processus de migration. Pour cela, vous devez exécuter l'outil de migration. Pour exécuter l'outil de migration, entrez votre serveur Magento en tant qu'utilisateur disposant d'autorisations en écriture. Pour exécuter les commandes Magento à partir de n'importe quel répertoire, ajoutez le répertoire racine / bin de Magento à votre chemin système, ou vous pouvez exécuter les commandes de cette façon:

CD /poubelle

Utilisez la commande suivante pour démarrer la migration:

bin / magento migrer:

Ici, le mode peut être soit des paramètres, des données ou un delta, et le chemin du fichier config.xml sera un chemin absolu..

Vous devez effectuer la migration dans cet ordre:

  1. Migrer les paramètres
  2. Migrer des données
  3. Migrer le delta (modifications)

Les paramètres de migration migreront les paramètres de paiement, taxes et livraison liés à vos magasins, sites Web, etc. Pour exécuter la migration des paramètres, exécutez la commande suivante:

bin / magento migrate: paramètres 

Cela peut ne pas migrer toutes les données. Vous devez vous connecter avec le panneau d'administration pour vérifier manuellement si tout est transféré correctement. En cas de problème, vous pouvez ré-exécuter cette instruction, mais cette fois-ci, utilisez l’argument reset pour démarrer la migration depuis le début. La commande ressemblera à ceci:

bin / magento migrate: paramètres [-r | --reset] 

Une fois les paramètres définis, lancez la migration des données. La procédure est la même que précédemment, avec un seul argument modifié. La commande à exécuter ressemblera à ceci:

bin / magento migrate: data 

Lorsque vous exécutez une migration de données, l'outil de migration vérifie la cohérence des tables et des champs de la base de données de votre ancienne version de Magento. En cas d'incohérence, il essaie de trouver les informations à partir des fichiers de mappage.. 

S'il ne le trouve pas, une erreur mentionnant des noms de table et de champ troublants sera générée. Le problème survient généralement lorsque vous utilisez une extension Magento dont la structure de table n'est pas compatible avec la structure de base de données Magento 2. Dans ce cas, vous pouvez installer la version Magento 2 de l’extension ou ignorer ces fichiers en ajoutant  balises à la map.xml fichier.

Une fois le problème résolu, vous pouvez réexécuter la commande migrate data. Il est important de garder à l'esprit que l'outil de migration garde une trace de la progression de la migration et qu'une fois que vous l'avez réexécuté, il reprend là où il était resté auparavant. Pour le forcer à partir du début, vous pouvez utiliser la commande de réinitialisation comme ceci:

bin / magento migrate: data [-r | --reset] 

L'étape suivante consiste à migrer les modifications (delta). 

Comme indiqué dans l'article précédent de cette série, avant de commencer le processus de migration, vous devez arrêter le travail cron de Magento 1 ainsi que toute l'activité du panneau d'administration de Magento 1 autres que les problèmes de gestion des commandes nécessaires, et ne pas les reprendre avant le le processus de migration est terminé. 

Bien que vous arrêtiez la plupart des activités du panneau d’administration de Magento 1 avant de démarrer le processus de migration, des problèmes de traitement des commandes se poseront. En outre, il se peut que de nouvelles critiques d'utilisateurs ou des modifications de profils de clients surviennent pendant cette période. Maintenant, vous devez migrer ces données à l'aide de mises à jour incrémentielles.

Pour migrer les mises à jour incrémentielles, exécutez la commande suivante:

bin / magento migrate: delta [-r | --reset] 

Ici, il est nécessaire de garder à l'esprit que la migration incrémentielle s'exécute en continu, sauf si vous l'abandonnez à l'aide de la commande CTRL + C. Une autre chose à noter ici est que cet outil migre uniquement les données générées par les propres modules de Magento. Si une extension tierce génère / met à jour certaines données entre-temps, cela ne sera pas migré. Si vous souhaitez que ces données migrent également, vous devrez mettre à jour les fichiers de configuration de Magento 2. Cela nécessite une connaissance approfondie de la spécification interne de l'outil de migration de données, ce qui dépasse le cadre de cet article..

Migration manuelle des données

Toujours en référence au premier article de cette série, bien que l’outil de migration résoudra le gros du processus de migration, il existe trois types de fichiers que vous devez transférer manuellement:

  1. Fichiers multimédia
  2. Design de magasin
  3. ACL (listes de contrôle d'accès)

Pour transférer les fichiers multimédias, allez d’abord sur votre panneau d’administration de Magento 1. Aller à Système> Configuration> Avancé> Système.

Sous le Configuration du magasin pour le média onglet, sélectionnez le Base de données des médias dans la liste et cliquez sur Synchroniser.

Allez maintenant au panneau d’administration de Magento 2, Magasins> Configuration> Avancé> Système.

Sous Configuration de stockage pour le support, sélectionnez le base de données des médias, et cliquez Synchroniser.

Cela s’occupera des fichiers multimédias stockés dans la base de données Magento. Maintenant, pour transférer d'autres fichiers multimédia, copiez l'intégralité du dossier multimédia de votre répertoire racine Magento 1, collez-le et fusionnez-le à cet emplacement dans Magento 2:

Répertoire racine de Magento 2 / pub / media

Une chose très importante à noter ici est que lors de la copie, vous ne devez pas remplacer le fichier .htaccess. Il est préférable de faire une copie de sauvegarde du fichier .htaccess avant le transfert de média, afin de ne pas remplacer accidentellement le fichier..

Pour transférer les fichiers de thème de votre boutique, vous devez transférer les fichiers .phtml, js, css et xml aux emplacements appropriés dans Magento 2. La structure des dossiers est différente de celle de Magento 1. Cet article dans la documentation de développement de Magento donnera un bon aperçu de la nouvelle structure de dossiers de thèmes de Magento 2.

Outre le transfert manuel des fichiers de thème, vous devez également recréer manuellement les informations d'identification pour les services Web REST et SOAP que vous utilisez sur votre site, ainsi que pour recréer des utilisateurs administratifs et définir leurs privilèges d'accès..

Étapes postérieures à la migration

Maintenant que vous avez terminé toutes les étapes requises pour la migration, voici quelques dernières choses à faire pour avoir un site Web entièrement fonctionnel Magento 2.

  • Vous devez mettre Magento 1 en mode maintenance et démarrer un travail cron Magento 2.
  • Vider les caches de Magento 2 et réindexer tous les index.
  • Modifier DNS pour qu'il pointe vers Magento 2 afin de détourner le trafic sur le nouveau site.

Si vous avez réussi jusqu'ici, félicitations! Votre tout nouveau magasin Magento 2 est prêt. Le temps et les efforts que vous avez consacrés au transfert du site Web vers la nouvelle version de Magento en vontudront la peine. Cette nouvelle version de Magento offre des performances et une évolutivité améliorées, de nouvelles fonctionnalités pour augmenter les taux de conversion, ainsi que des améliorations en termes de flexibilité et de productivité. Votre site est prêt à passer au niveau supérieur avec ces fonctionnalités améliorées.