Nell'articolo precedente di questa serie, ho fornito una panoramica del processo di migrazione di Magento e ho discusso alcuni dei pro e contro da considerare durante la pianificazione della migrazione. In questo articolo, approfondiremo un po 'più in profondità i dettagli tecnici sporchi dell'effettivo processo di migrazione.
Dato che abbiamo già installato lo strumento di migrazione di Magento seguendo le istruzioni del precedente articolo, il passo successivo è configurarlo correttamente per una corretta migrazione. Prima di proseguire con la configurazione dello strumento di migrazione, è necessario verificare che la versione dello strumento di migrazione corrisponda alla versione di installazione di Magento e, in caso contrario, è necessario aggiornare la versione dello strumento di migrazione.
Se stai migrando a Magento versione 2.0.0, devi avere lo strumento di migrazione versione 2.0.0, allo stesso modo se hai Magento versione 2.0.2, hai bisogno dello strumento di migrazione versione 2.0.2. In caso di mancata corrispondenza della versione, la migrazione non avrà esito positivo, poiché le diverse versioni di Magento possono avere strutture di database diverse e necessitano di meccanismi di mappatura diversi.
Per verificare la versione della tua nuova installazione di Magento, usa il seguente comando:
php/ bin / magento --version
Ora controlla la versione dello strumento di migrazione di Magento. Per farlo, vai nella directory dello strumento di migrazione e apri il file composer.json. La posizione di questo file sarà qualcosa di simile a questo:
Directory radice Magento / vendor / magento / data-migration-tool / composit.json
In questo file, trova il valore di versione
, e questa è la tua versione dello strumento di migrazione. Se la versione di Magento e lo strumento di migrazione corrispondono, tutti sono impostati per procedere al passaggio successivo. Tuttavia, se non lo fanno, è necessario modificare la versione dello strumento di migrazione in modo che corrisponda alla versione di Magento.
Prima di procedere con l'aggiornamento della versione, eseguire un backup della directory dello strumento di migrazione dei dati, poiché il processo di aggiornamento modificherà il contenuto di questa cartella e, se qualcosa va storto, potrebbe non essere possibile recuperare quello originale se si indossa avere un backup Una volta che il backup è terminato, vai nella directory root di Magento nel tuo server e inserisci il seguente comando:
il compositore richiede magento / data-migration-tool: 2.0.2
L'ultima cosa nel comando è la tua versione di Magento. In questo caso è 2.0.0. Se il tuo è diverso, cambialo di conseguenza.
Ora che ci siamo assicurati di avere versioni corrispondenti di Magento e dello strumento di migrazione, è ora di configurare correttamente lo strumento di migrazione.
Per configurare la migrazione di Magento, è necessario creare / aggiornare il file di configurazione e i file di mapping. Puoi trovare questi file in questa cartella:
Directory radice Magento2 / vendor / magento / strumento di migrazione dei dati / etc / ce-to-ce
In questo articolo, sto dimostrando l'edizione della comunità alla migrazione della community edition, quindi l'ultima cartella nel percorso sopra riportato è ce-to-ce, ma se hai a che fare con l'edizione enterprise, sarà ee invece che ce.
Prima di iniziare qualsiasi migrazione, è necessario creare un file config.xml correttamente configurato. Per creare il file config.xml, accedere al server Magento e spostarsi in questa directory:
Utilizzare questo comando per creare il file di configurazione:
cp config.xml.dist config.xml
Ora, una volta creato, aprilo in qualsiasi editor di testo e inserisci questo codice di esempio:
magento1 Guarda la directory principale di Magento 1 / app / etc / local.xml
Qui il ospite, nome e utente i campi dei database di origine e di destinazione sono obbligatori. Anche il crypt_key il campo è obbligatorio Il resto dei campi come il database parola d'ordine e source_prefix sono opzionali.
Il crypt_key campo dovrebbe avere la stessa chiave che si può trovare nel tag chiave del file local.xml, trovato in questa directory:
Ora che abbiamo creato il file config.xml, il passaggio facoltativo successivo è l'aggiornamento dei file di mapping. Lo strumento di migrazione utilizza i file di mappatura per eseguire il mapping dei database da Magento 1 a Magento 2. I file di mapping contengono informazioni sulla modifica della tabella e dei nomi dei campi del database, quali tabelle e campi possono essere ignorati e altre informazioni del genere. Puoi trovare i file di mappatura in questa directory:
Passare attraverso questi file e, se è necessario aggiornare uno di questi, creare una copia del file che è necessario modificare e rimuovere il .dist dal nome. Ad esempio, se si utilizza il file map.xml.dist, creare una copia di questo file con il nome map.xml. Una volta terminata la modifica, è necessario aggiornare il file config.xml con il nuovo nome file nel nodo facoltativo. Se hai aggiunto il file map.xml, il codice del file config.xml precedentemente creato diventerà così:
magento1 Guarda la directory principale di Magento 1 / app / etc / local.xml etc / ce-a-ce / 1.9.1.0 / map.xml.dist
Ora che abbiamo terminato la pianificazione della migrazione, le installazioni, le configurazioni e così via, iniziamo effettivamente il processo di migrazione. Per questo, è necessario eseguire lo strumento di migrazione. Per eseguire lo strumento di migrazione, inserisci il tuo server Magento come utente con permessi di scrittura. Per eseguire i comandi Magento da qualsiasi directory, aggiungi Magento Root Directory / bin al tuo percorso di sistema, oppure puoi eseguire i comandi in questo modo:
CD/bidone
Utilizzare il seguente comando per avviare la migrazione:
bin / magento migrate:
Qui la modalità può essere impostazioni, dati o delta e il percorso del file config.xml sarà un percorso assoluto.
È necessario eseguire la migrazione in questo ordine:
Le impostazioni di migrazione migreranno le impostazioni di pagamento, imposte e spedizione relative ai tuoi negozi, siti Web, ecc. Per eseguire la migrazione delle impostazioni, esegui questo comando:
bin / magento migrate: settings
Questo potrebbe non migrare tutti i dati. È necessario accedere con il pannello di amministrazione per controllare manualmente se tutto è trasferito correttamente. Se c'è qualche problema, puoi rieseguire questa dichiarazione, ma questa volta usa l'argomento reset per avviare la migrazione dall'inizio. Il comando sarà simile a questo:
bin / magento migrate: settings [-r | --reset]
Dopo aver terminato le impostazioni, avviare la migrazione dei dati. La procedura è la stessa di prima, con un cambio di argomento singolo. Il comando da eseguire sarà simile al seguente:
bin / magento migrate: data
Quando si esegue la migrazione dei dati, lo strumento di migrazione verifica che le tabelle e i campi del database delle versioni Magento precedenti e più recenti siano coerenti. In caso di incoerenza cerca di trovare le informazioni dai file di mappatura.
Se non lo trova lì, genererà un errore che menziona la tabella problematica ei nomi dei campi. Il problema si presenta in genere quando si utilizza un'estensione Magento la cui struttura di tabella non è compatibile con la struttura del database Magento 2. In tal caso, puoi installare la versione di Magento 2 dell'estensione oppure puoi ignorare quei file aggiungendo
tag per il map.xml
file.
Una volta risolto il problema, è possibile rieseguire il comando di migrazione dei dati. Una cosa da tenere a mente qui è che lo strumento di migrazione tiene traccia dell'avanzamento durante la migrazione e, una volta eseguito nuovamente, riprende da dove era stato lasciato prima. Per forzarlo a ricominciare dall'inizio, puoi usare il comando reset in questo modo:
bin / magento migrate: data [-r | --reset]
Il prossimo passo è migrare le modifiche (delta).
Come discusso nel precedente articolo di questa serie, prima di iniziare il processo di migrazione, è necessario interrompere il lavoro cron di Magento 1 e anche tutte le attività nel pannello di amministrazione di Magento 1 diversi dai necessari problemi di gestione degli ordini e non riprendere l'attività fino al il processo di migrazione temporale è completato.
Anche se interromperai la maggior parte delle attività nel pannello di amministrazione di Magento 1 prima di iniziare il processo di migrazione, si verificheranno alcuni problemi di elaborazione degli ordini. Inoltre, durante questo periodo potrebbero verificarsi nuove recensioni o modifiche ai profili dei clienti. Ora è necessario migrare tali dati utilizzando aggiornamenti incrementali.
Per migrare gli aggiornamenti incrementali, eseguire il seguente comando:
bin / magento migrate: delta [-r | --reset]
Qui è necessario tenere presente che la migrazione incrementale viene eseguita continuamente a meno che non lo si interrompa utilizzando il comando CTRL + C. Un'altra cosa da notare qui è che questo strumento migra solo i dati generati dai moduli di Magento. Se un'estensione di terze parti genera / aggiorna alcuni dati nel frattempo, non verrà eseguita la migrazione. Se si desidera che anche i dati vengano migrati, è necessario aggiornare i file di configurazione di Magento 2. Ciò richiede una conoscenza anticipata delle specifiche interne dello strumento di migrazione dei dati e va oltre lo scopo di questo articolo.
Facendo nuovamente riferimento al primo articolo di questa serie, sebbene lo strumento di migrazione svolga il grosso del processo di migrazione, esistono tre tipi di file che è necessario trasferire manualmente:
Per trasferire i file multimediali, vai prima al pannello di amministrazione di Magento 1. Vai a Sistema> Configurazione> Avanzate> Sistema.
Sotto il Memorizza la configurazione per i media scheda, selezionare il Database multimediale dalla lista e clicca Sincronizzare.
Ora vai al pannello di amministrazione di Magento 2, Negozi> Configurazione> Avanzate> Sistema.
Sotto Configurazione di archiviazione per i media, seleziona il database multimediale, e fare clic Sincronizzare.
Questo si prenderà cura dei file multimediali che sono memorizzati nel database Magento. Ora, per trasferire altri file multimediali, copia l'intera cartella multimediale dalla tua directory principale di Magento 1 e incollala e uniscila in questa posizione in Magento 2:
Directory radice / pub / media di Magento 2
Una cosa molto importante da notare qui è che durante la copia non si dovrebbe sostituire il file .htaccess. È meglio prendere una copia di backup del file .htaccess prima del trasferimento multimediale, in modo da non sostituire accidentalmente il file.
Per trasferire i file del tema del tuo negozio, devi trasferire i file .phtml, js, css e xml nelle posizioni appropriate in Magento 2. La struttura delle cartelle è diversa da Magento 1. Questo articolo nei documenti di sviluppo di Magento fornirà una buona panoramica della nuova struttura delle cartelle tematiche di Magento 2.
Oltre al trasferimento manuale dei file del tema, dovrai anche ricreare manualmente le credenziali per i servizi web REST e SOAP che stai utilizzando sul tuo sito, inoltre dovrai ricreare gli utenti amministrativi e impostare i loro privilegi di accesso.
Ora che hai completato tutti i passaggi necessari per la migrazione, ecco alcune ultime cose da fare per avere un sito Web Magento 2 completamente funzionante.
Se l'hai fatto fino ad ora, congratulazioni! Il tuo nuovo negozio Magento 2 è pronto. Il tempo e lo sforzo che dedichi per trasferire il sito web alla nuova versione di Magento ne valuterà davvero la pena. Questa nuova versione di Magento offre prestazioni e scalabilità avanzate, nuove funzionalità per aumentare i tassi di conversione, agilità aziendale e miglioramenti della produttività. Il tuo sito è pronto per passare al livello successivo con queste funzionalità avanzate.