migrazione magento migration tool

Migrazione Magento – Migration Tool

Stefano MeloniBy Stefano MeloniGennaio 12, 202013 Minuti

Come sappiamo, da Novembre 2018 la piattaforma Magento 1 non risulta più essere supportata, pertanto si rende opportuna una migrazione dei propri contenuti verso la piattaforma Magento 2 per una serie di ragioni, come ad esempio sicurezza e supporto nuove funzionalità. In questo articolo esponiamo pertanto una guida step by step alla migrazione dei contenuti dalla piattaforma Magento 1 alla piattaforma Magento 2 tramite Migration Tool.

La migrazione dei propri contenuti da Magento 1 a Magento 2 in realtà, può avvenire seguendo una tra le tre seguenti strade percorribili:

  1. Migration Tool
  2. Plugin di terze parti
  3. Manualmente

In questa sede però, come già anticipato, approfondiremo la prima delle tre, ossia lo strumento del Migration Tool, messo a disposizione dalla stessa azienda di Magento.

Sul web è possibile trovare diversi tutorial al riguardo, ma quasi tutti, analizzano il problema dal punto di vista meramente teorico, senza prendere in considerazione gli errori che è molto facile che si generino durante le fasi della migrazione.

Nei nostri post affronteremo anche da un punto di vista estremante pratico, l’utilizzo del Migration Tool.

QUANDO NON USARE IL MIGRATION TOOL

Anzitutto cerchiamo di capire quando è sconsigliabile utilizzare il Migration Tool.

Nel caso in cui la piattaforma di provenienza in Magento 1 abbia diverse personalizzazioni sui dati che si intende esportare, è senza dubbio sconsigliato operare la migrazione tramite Migration Tool.

Se ad esempio i nostri Customer, fossero provvisti di diversi campi personalizzati (ad esempio: Customer Attributes aggiunti tramite plugin di terze parti), non sarà senz’altro consigliabile operare la migrazione dei customer attraverso l’uso del Migration Tool. In tal caso, è senza dubbio consigliabile orientarsi verso la migrazione manuale dei contenuti, che vedremo con i prossimi articoli.

COME UTILIZZARE IL MIGRATION TOOL

Ciò di cui abbiamo bisogno, oltre all’ambiente sorgente in Magento 1, è un ambiente di destinazione in Magento 2 che sia vuoto, almeno per quanto riguarda la tipologia dei contenuti che si intende importare. Se ad esempio si vogliono importare gli ordini, sarà buona regola, non avere ordini già presenti sull’ambiente di destinazione, nè aver operato personalizzazioni sulla gestione degli ordini stessi.

OPERAZIONI PRELIMINARI ALLA MIGRAZIONE

Le fasi preliminare sono diverse e schematicamente possiamo così riassumerle brevemente:

  • Pulizia e riordino di contenuti e plugin della propria piattaforma online.
  • Esecuzione di backup del sito e del database.
  • Verifica di compatibilità dei propri plugin con la nuova piattaforma Magento 2.
  • Stop dei cronjob.
  • Trasferimento manualmente tramite ftp dei file del sito, come ad esempio le immagini.

INSTALLAZIONE DEL MIGRATION TOOL

E’ possibile scaricare il Migration Tool al seguente link:
https://github.com/magento/data-migration-tool

Altrimenti scaricare il Data migration Tool direttamente dai repository di GitHub tramite i seguenti comandi SSH:

php composer config repositories.data-migration-tool git https://github.com/magento/data-migration-tool
php composer require magento/data-migration-tool:<version>

Dove “<version>” è la versione di Magento 2.

Per esempio, per la versione 2.2.2, occorre eseguire il comando:

php composer require magento/data-migration-tool:2.2.2

CONFIGURAZIONE DEL MIGRATION TOOL

Recarsi in:  /vendor/magento/data-migration-tool/etc/ [versione da cui migrare]

Cambiare il nome al file “config.xml.dist” in: “config.xml”.

Aprire tale file xml e riempire i seguenti campi già presenti nel file:

CONFIGURAZIONE DEL MIGRATION TOOL

Recarsi in:  /vendor/magento/data-migration-tool/etc/ [versione da cui migrare]

Cambiare il nome al file “config.xml.dist” in: “config.xml”.

Aprire tale file xml e riempire i seguenti campi già presenti nel file:

<source>
    <database host="127.0.0.1 (metti l’ip del Magento sorgente)" name="magento1(nome del database)" user="root"/>
</source>
<destination>
    <database host="127.0.0.1 (o localhost)" name="magento2" user="root"/>
</destination>
<options>
    <source_prefix>prefisso di tabella del DB di Magento1</source_prefix>
    <dest_prefix> prefisso di tabella del DB di Magento2</dest_prefix>
 
    <crypt_key />
</options>

La  <crypt_key /> da inserire, è possibile trovarla nella piattaforma in Magento 1 nel file “local.xml” situato in: app/etc/local.xml nel tag “<key>”.

Inserire anche i dati del database e i prefissi di tabelle. Di seguito un esempio:

<source>
    <database host="47.167.261.55" name="magento1" user="root" password="pass"/>
</source>
<destination>
    <database host="127.0.0.1" name="magento2" user="root" password="pass"/>
</destination>
<options>
    <source_prefix>mg_</source_prefix>
    <dest_prefix>mg_</dest_prefix>
 
    <crypt_key>f3e25ab19daee2387df9fs5ffg485</crypt_key>
</options>

Eseguire tramite SSH, il comando: