En el artículo anterior de esta serie, presenté una descripción general del proceso de migración de Magento y comenté algunas de las ventajas y desventajas que se deben tener en cuenta al planificar su migración. En este artículo, profundizaremos un poco más en los sucios detalles técnicos del proceso de migración real.
Como ya hemos instalado la herramienta de migración de Magento siguiendo las instrucciones del artículo anterior, el siguiente paso es configurarlo correctamente para una migración exitosa. Antes de continuar con la configuración de la herramienta de migración, debe verificar que la versión de la herramienta de migración coincida con la versión de instalación de Magento y, si no es así, debe actualizar la versión de la herramienta de migración..
Si está migrando a la versión 2.0.0 de Magento, debe tener la versión 2.0.0 de la herramienta de migración. Del mismo modo, si tiene la versión 2.0.2 de Magento, necesita la versión 2.0.2 de la herramienta de migración. Si hay una discrepancia en la versión, la migración no tendrá éxito, ya que diferentes versiones de Magento pueden tener diferentes estructuras de base de datos y necesitar diferentes mecanismos de mapeo..
Para verificar la versión de su nueva instalación de Magento, use el siguiente comando:
php/ bin / magento --version
Ahora compruebe la versión de la herramienta de migración de Magento. Para hacerlo, vaya al directorio de la herramienta de migración y abra el archivo composer.json. La ubicación de este archivo será algo como esto:
Directorio raíz de Magento / proveedor / magento / data-migration-tool / composer.json
En este archivo, encuentra el valor de versión
, y esa es la versión de tu herramienta de migración. Si la versión de Magento y la herramienta de migración coinciden, está todo configurado para continuar con el siguiente paso. Sin embargo, si no lo hacen, debe cambiar la versión de la herramienta de migración para que coincida con la versión de Magento.
Antes de continuar con la actualización de la versión, realice una copia de seguridad del directorio de herramientas de migración de datos, ya que el proceso de actualización modificará el contenido de esta carpeta y, si algo sale mal, es posible que no pueda recuperar el original si no lo hace. No tengo una copia de seguridad. Una vez que se realiza la copia de seguridad, simplemente vaya a su directorio raíz de Magento en su servidor e ingrese el siguiente comando:
el compositor requiere magento / data-migration-tool: 2.0.2
Lo último en el comando es tu versión de Magento. En este caso es 2.0.0. Si el tuyo es diferente, cámbialo en consecuencia.
Ahora que nos hemos asegurado de que tenemos versiones coincidentes de Magento y la herramienta de migración, es hora de configurar la herramienta de migración correctamente.
Para configurar la migración de Magento, deberá crear / actualizar el archivo de configuración y los archivos de mapeo. Puede encontrar estos archivos en la ubicación de esta carpeta:
Directorio raíz de Magento2 / proveedor / magento / data-migration-tool / etc / ce-to-ce
En este artículo, muestro la migración de la edición de la comunidad a la edición de la comunidad, por lo que la última carpeta de la ruta anterior es ce-to-ce, pero si está tratando con la edición empresarial, será ee en lugar de ce.
La creación de un archivo config.xml configurado correctamente es una necesidad, antes de iniciar cualquier migración. Para crear el archivo config.xml, inicie sesión en su servidor Magento y vaya a este directorio:
Utilice este comando para crear el archivo de configuración:
cp config.xml.dist config.xml
Ahora, una vez creado, ábralo en cualquier editor de texto y coloque este código de ejemplo:
magento1 Mire el directorio raíz de Magento 1 / app / etc / local.xml
Aquí el anfitrión, nombre y usuario Los campos de las bases de datos de origen y destino son obligatorios. También el crypt_key El campo es obligatorio. El resto de los campos como base de datos. contraseña y fuente_prefijo son opcionales.
los crypt_key El campo debe tener la misma clave que se puede encontrar en la etiqueta de clave del archivo local.xml, que se encuentra en este directorio:
Ahora que hemos creado el archivo config.xml, el siguiente paso opcional es actualizar los archivos de mapeo. La herramienta de migración utiliza archivos de mapeo para realizar el mapeo de la base de datos de Magento 1 a Magento 2. Los archivos de mapeo contienen información sobre cómo cambiar la tabla y los nombres de campo de la base de datos, qué tablas y campos pueden ignorarse, y otra información como esa. Puedes encontrar los archivos de mapeo en este directorio:
Revise estos archivos y, si necesita actualizar alguno de ellos, haga una copia del archivo que necesita editar y elimine el .dist del nombre. Por ejemplo, si está utilizando el archivo map.xml.dist, haga una copia de este archivo con el nombre map.xml. Una vez que haya terminado de editarlos, debe actualizar el archivo config.xml con el nuevo nombre de archivo en el nodo opcional. Si agregó el archivo map.xml, el código del archivo config.xml creado anteriormente será así:
magento1 Mire el directorio raíz de Magento 1 / app / etc / local.xml etc / ce-to-ce / 1.9.1.0 / map.xml.dist
Ahora que hemos terminado con toda la planificación de la migración, las instalaciones, las configuraciones, etc., comencemos realmente el proceso de migración. Para eso, necesitarás ejecutar la herramienta de migración. Para ejecutar la herramienta de migración, ingrese su servidor Magento como usuario con permisos de escritura. Para ejecutar comandos de Magento desde cualquier directorio, agregue Magento Root Directory / bin a la ruta de su sistema, o puede ejecutar los comandos de esta manera:
discos compactos/compartimiento
Utilice el siguiente comando para iniciar la migración:
migrar bin / magento:
Aquí, el modo puede ser configuración, datos o delta, y la ruta al archivo config.xml será una ruta absoluta.
Necesitas realizar la migración en este orden:
Las configuraciones de migración migrarán las configuraciones de pago, impuestos y envío relacionadas con sus tiendas, sitios web, etc. Para ejecutar la migración de configuraciones, ejecute este comando:
migrar bin / magento: configuraciones
Esto puede no migrar todos los datos. Debe iniciar sesión con el panel de administración para verificar manualmente si todo se transfirió correctamente. Si hay algún problema, puede volver a ejecutar esta declaración, pero esta vez, use el argumento de reinicio para iniciar la migración desde el principio. El comando se verá así:
migrar bin / magento: configuraciones [-r | --reset]
Una vez que haya terminado con la configuración, a continuación comience a migrar los datos. El procedimiento es el mismo que antes, con un solo cambio de argumento. El comando a ejecutar se verá así:
migrar bin / magento: datos
Cuando ejecuta la migración de datos, la herramienta de migración verifica que las tablas de la base de datos y los campos de sus versiones anteriores y más recientes de Magento sean consistentes. En caso de inconsistencia, intenta encontrar la información de los archivos de mapeo..
Si no lo encuentra allí, arrojará un error al mencionar nombres de campos y tablas problemáticos. El problema generalmente surge cuando usa una extensión de Magento cuya estructura de tabla no es compatible con la estructura de la base de datos de Magento 2. En ese caso, puede instalar la versión Magento 2 de la extensión o puede ignorar esos archivos agregando
etiquetas a la map.xml
expediente.
Una vez que resuelva el problema, puede volver a ejecutar el comando migrar datos. Una cosa que se debe tener en cuenta aquí es que la herramienta de migración realiza un seguimiento del progreso durante la migración y, una vez que lo vuelve a ejecutar, se reanuda desde donde lo dejó antes. Para forzar que comience desde el principio, puede usar el comando de reinicio de la siguiente manera:
migrar bin / magento: datos [-r | --reset]
El siguiente paso es migrar los cambios (delta).
Como se explicó en el artículo anterior de esta serie, antes de comenzar el proceso de migración, debe detener el trabajo cron de Magento 1 y también toda la actividad en el panel de administración de Magento 1 que no sean los problemas de gestión de pedidos necesarios, y no reanudar la actividad hasta el proceso de migración de tiempo se completa.
Aunque detendrá la mayor parte de la actividad en el panel de administración de Magento 1 antes de iniciar el proceso de migración, habrá algunos problemas de procesamiento de pedidos. Además, tal vez se produzcan nuevas revisiones de usuarios o cambios en los perfiles de los clientes durante este tiempo. Ahora necesitas migrar esos datos usando actualizaciones incrementales.
Para migrar las actualizaciones incrementales, ejecute el siguiente comando:
migrar bin / magento: delta [-r | --reset]
Aquí es necesario tener en cuenta que la migración incremental se ejecuta de forma continua a menos que aborte utilizando el comando CTRL + C. Otra cosa a tener en cuenta aquí es que esta herramienta solo migra los datos generados por los propios módulos de Magento. Si una extensión de terceros genera / actualiza algunos datos mientras tanto, no se migrará. Si desea que también se migren esos datos, deberá actualizar los archivos de configuración de Magento 2. Eso requiere un conocimiento previo de la especificación interna de la herramienta de migración de datos, y está más allá del alcance de este artículo..
Nuevamente, refiriéndose al primer artículo de esta serie, aunque la herramienta de migración hará la mayor parte del trabajo pesado del proceso de migración, hay tres tipos de archivos que necesita transferir manualmente:
Para transferir los archivos multimedia, primero vaya a su panel de administración de Magento 1. Ir Sistema> Configuración> Avanzado> Sistema.
Bajo la Configuración de tienda para medios pestaña, seleccione la Base de datos de medios de la lista y haga clic Sincronizar.
Ahora ve al panel de administración de Magento 2, Tiendas> Configuración> Avanzado> Sistema.
Debajo Configuración de almacenamiento para medios, Selecciona el base de datos de medios, y haga clic Sincronizar.
Esto se hará cargo de los archivos multimedia que se almacenan en la base de datos de Magento. Ahora, para transferir otros archivos de medios, copie la carpeta de medios completa de su directorio raíz de Magento 1, y péguela y combínela en esta ubicación en Magento 2:
Directorio raíz de Magento 2 / pub / media
Una cosa muy importante a tener en cuenta aquí es que al copiar no debe reemplazar el archivo .htaccess. Es mejor hacer una copia de respaldo del archivo .htaccess antes de la transferencia de medios, para que no reemplace el archivo accidentalmente..
Para transferir los archivos de temas de su tienda, necesita transferir los archivos .phtml, js, css y xml a las ubicaciones apropiadas en Magento 2. La estructura de carpetas es diferente a Magento 1. Este artículo en la documentación de desarrollo de Magento le dará una buena descripción de la nueva estructura de carpetas de temas de Magento 2.
Además de transferir manualmente los archivos de temas, también deberá recrear manualmente las credenciales para los servicios web REST y SOAP que está utilizando en su sitio, y también deberá recrear usuarios administrativos y establecer sus privilegios de acceso.
Ahora que ha completado todos los pasos necesarios para la migración, aquí hay algunas cosas que debe hacer para tener un sitio web Magento 2 completamente funcional..
Si lo has hecho hasta ahora, ¡felicidades! Tu nueva tienda Magento 2 está lista. El tiempo y el esfuerzo que invierta para transferir el sitio web a la versión más reciente de Magento realmente valdrá la pena. Esta nueva versión de Magento ofrece un mejor rendimiento y escalabilidad, nuevas características para aumentar las tasas de conversión y mejoras en la agilidad y la productividad del negocio. Su sitio está listo para pasar al siguiente nivel con estas características mejoradas.