Voy a intentar detallar los pasos a seguir para realizar una migración con éxito de Magento 1 a Magento 2. Partimos que tenemos una instalación en Magento 1 en producción, que además está configurada como multi-dominio, es decir que tenemos 3 tiendas en una sola base de datos, con lo cual se complica todo un poco. En la otra parte tenemos una instalación limpia de Magento 2 en un dominio temporal para realizar la migración sin que afecte a la instalación de Magento 1 que está en producción.

Paso 1. Instalación de la herramienta de migración de Magento 1 a Magento 2

Damos pos supuesto que tenemos instalado en nuestro servidor el gestor de paquetes composer. Instalaremos la herramienta desde repo.magento.com utilizando composer. Desde el directorio raíz donde tenemos la instalación de Magento 2 ejecutamos los siguientes comandos:

$ composer config repositories.magento composer https://repo.magento.com

$ composer require magento/data-migration-tool:<version>

En mi caso la versión es 2.4.2 ya que la versión de magento 2 que tengo instalada es la 2.4.2, sería entonces:

$ composer config repositories.magento composer https://repo.magento.com
$ composer require magento/data-migration-tool:2.4.2

Es posible que nos nos pida nuestras claves de claves de autenticación que obtenemos de https://account.magento.com. Nuestra clave pública es el nombre de usuario; y nuestra clave privada es la contraseña.

Paso 2. Configurar los datos de la base de datos de origen y destino

Editamos el archivo config.xml

En el paso 1 hemos instalado la herramienta de migración de datos en magento 2, ahora hemos de editar el archivo config.xml que se encuentra en la siguiente ruta: vendor/magento/data-migration-tool/etc/opensource-to-opensource/<magento1_version>(en mi caso es: 1.9.4.3)

Una vez allí, por seguridad para tener una copia del original, duplicaremos el archivo config.xml.dist y lo renombraremos a config.xml.

Después, editaremos el archivo que acabamos de duplicar (config.xml) y configuraremos los datos de acceso para nuestras db origen y destino, tal y como muestro a continuación:

Como mínimo, el archivo config.xml debe contener detalles de acceso a las bases de datos y claves de cifrado M1 y M2. La cript key  la podemos encontrar en el directorio de instalación de Magento 1 → app/etc/local.xml, el tag <cript_key> .

<source>
   <database host="127.0.0.1" name="magento1" user="root" password="*****" />
</source>
<destination>
   <database host="127.0.0.1" name="magento2" user="root" password="*****" />
</destination>
<options>
   <crypt_key>cryptkeyquetenemosenmagento1></crypt_key>
</options>

Editamos el archivo settings.xml

Una vez hayamos acabado, deberemos navegar a la siguiente carpeta:

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

Allí duplicaremos el archivo settings.xml.dist a settings.xml y copiaremos este último al siguiente directorio:

vendor/magento/data-migration-tool/etc/opensource-opensource/<magento1_version>(En mi caso: 1.9.4.3)

Cuando hayamos copiado el archivo, debemos editar el archivo:

vendor/magento/data-migration-tool/etc/opensource-to-opensource/<magento1_version>/settings.xml

Y cambiarle el valor de la etiqueta <settings_map_file> con la ruta del fichero settings.xml que acabamos de copiar.

Editamos el archivo map.xml

Después, deberemos ir al siguiente directorio:

vendor/magento/data-migration-tool/etc/opensource-to-opensource/<magento1_version>.

Allí duplicaremos y renombraremos el archivo map.xml.dist a map.xml .

Con esto listo, volveremos a editar el archivo config.xml que encontraremos dentro de vendor/magento/data-migration-tool/etc/opensource-to-opensource/<magento1_version>

y actualizaremos el valor de la etiqueta <map_file> con la ruta al archivo map.xml que acabamos de crear.

 

Con toda la parte de configuración ya lista, volveremos a directorio de instalación de Magento 2 y lanzaremos el siguiente comando:

php bin/magento migrate:data «vendor/magento/data-migration-tool/etc/opensource-to-opensource/<magento1_version>/config.xml» –reset –auto

En mi caso, el comando sería el siguiente:

php bin/magento migrate:data "vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.4.3/config.xml" --reset –auto

php bin/magento migrate:data «vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.4.3/config.xml» –reset –auto

 

php bin/magento migrate:settings «vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.4.3/config.xml»

php bin/magento migrate:data -a -r «vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.4.3/config.xml»

php bin/magento migrate:delta «vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.4.3/config.xml»

 

Migración de nuestra carpeta media al entorno target

El último paso y con el que concluimos con la migración de Magento es el de la migración de nuestra carpeta media a nuestro entorno destino.

La carpeta media es como su propio nombre indica donde almacenamos toda la media de la tienda (imágenes de productos, banners, logos, etc) .

Como podemos imaginar es una carpeta muy pesada lo que hace que la mayor dificultad de su migración resida en los tiempos de descarga/subida.

Aunque el proceso de copia sea muy simple ya que simplemente consista en copiar la carpeta media del directorio de instalación de Magento 1 al directorio pub/media que encontraremos dentro del directorio de instalación de Magento 2.

Una vez el proceso de copia haya terminado, debemos lanzar los siguientes comandos:

php bin/magento setup:static-content:deploy -f
php bin/magento cache:clean
php bin/magento cache:flush

php bin/magento catalog:image:resize

rm -Rf var/cache/*
rm -Rf var/page_cache/*

 

Con esto terminaríamos la migración de nuestra web a la última versión de Magento.

 

 

Puede ser interesante, falta ordenar ideas

 

https://magento.stackexchange.com/questions/102936/magento-2-how-to-truncate-customers-products-reviews-and-orders-table

https://magento.stackexchange.com/questions/258209/magento-2-how-can-i-reset-the-data-migration-tool

https://pgrajrwr6brd62f7joilzui25e-ac4c6men2g7xr2a-stackexchange.translate.goog/questions/258209/magento-2-how-can-i-reset-the-data-migration-tool

https://pgrajrwr6brd62f7joilzui25e-ac4c6men2g7xr2a-stackexchange.translate.goog/questions/291185/how-to-solve-magento-migration-duplicate-entry-error/291224

https://magento.stackexchange.com/questions/192983/migration-from-magento-1-to-magento-2