() translation by (you can also view the original English article)
No artigo anterior desta série, deu uma visão geral do processo de migração do Magento e discutidos alguns dos prós e contras a considerar ao planejar a migração. Neste artigo, nós vai aprofundar um pouco sujos detalhes técnicos do processo de migração real.
Atualização da ferramenta de migração
Como já temos instalado a ferramenta de migração do Magento usando as instruções no artigo anterior, o próximo passo é configurá-lo corretamente para migração bem-sucedida. Antes de passar à frente com a configuração da ferramenta de migração, você precisa verificar que sua versão da ferramenta de migração corresponda à sua versão de instalação do Magento, e se isso não acontecer, você precisa atualizar a versão da ferramenta de migração.
Se você estiver migrando para Magento versão 2.0.0, você precisa ter a versão da ferramenta de migração 2.0.0, da mesma forma se você tem o Magento versão 2.0.2, você precisa de ferramenta de migração versão 2.0.2. Se houver uma incompatibilidade de versão, a migração não será bem sucedida, como versões diferentes do Magento podem ter estruturas de banco de dados diferente e precisa de mecanismos de mapeamento diferentes.
Para verificar a versão do seu novo Magento instalação, use o seguinte comando:
1 |
php <Magento root directory>/bin/magento --version |
Agora, verifique a versão da ferramenta de migração do Magento. Para fazer isso, vá para seu diretório de ferramenta de migração e abra o arquivo composer.json. A localização deste arquivo será algo parecido com isto:
Magento root directory/vendor/magento/data-migration-tool/composer.json
Neste arquivo, localizar o valor da versão, e essa é sua versão de ferramenta de migração. Se a versão do Magento e a ferramenta de migração corresponde, você está pronto para prosseguir para a próxima etapa. No entanto, se não o fizerem, você precisa mudar a versão da ferramenta de migração para coincidir com a versão do Magento.
Antes de prosseguir com a atualização de versão, faça um backup do diretório da ferramenta de migração de dados, porque o processo de atualização irá modificar o conteúdo desta pasta, e se algo der errado, você não seria capaz de voltar a um original, se você não tiver um backup. Uma vez feito o backup, simplesmente vá para o diretório de raiz do Magento em seu servidor e digite o seguinte comando:
1 |
composer require magento/data-migration-tool:2.0.2 |
A última coisa no comando é a sua versão do Magento. Neste caso é 2.0.0. Se o seu for diferente, alterá-lo em conformidade.
Agora que garantimos que temos versões do Magento e a ferramenta de migração de harmonização, é hora de configurar a ferramenta de migração corretamente.
Configurando a migração
Para configurar a migração do Magento, você precisará criar/atualizar o arquivo de configuração e os arquivos de mapeamento. Você pode encontrar esses arquivos neste local de pasta:
Magento2 root diretório/fornecedor/magento/dados-migração-ferramenta/etc/ce-para-ce
Neste artigo, estou demonstrando a community edition para migração de edição de comunidade, então a última pasta no caminho acima é ce-para-ce, mas se você está lidando com a enterprise edition, será ee em vez de ce.
Criando um arquivo config. XML corretamente configurado é uma obrigação, antes de você iniciar qualquer migração. Para criar o arquivo config.xml, faça logon seu servidor do Magento e mova para este diretório:
<Magento2 root directory>/vendor/magento/data-migration-tool/etc/<migration edition>/ce
Use este comando para criar o arquivo de configuração:
1 |
cp config.xml.dist config.xml |
Agora, uma vez que ele é criado, abri-lo em qualquer editor de texto e coloque este código de exemplo:
1 |
<source>
|
2 |
<database host="127.0.0.1" name="magento1" user="root" password="abc"/> |
3 |
</source>
|
4 |
<destination>
|
5 |
<database host="127.0.0.1" name="magento2" user="root" password="abc"/> |
6 |
</destination>
|
7 |
<options>
|
8 |
<source_prefix>magento1</source_prefix> |
9 |
<crypt_key>Look at Magento 1 root directory/app/etc/local.xml</crypt_key> |
10 |
</options>
|
Aqui os campos host, name e user de bancos de dados de origem e de destino são obrigatórios. Além disso, o campo crypt_key é obrigatório. O resto dos campos como password de banco de dados e source_prefix são opcionais.
O campo crypt_key deve ter a mesma chave, como pode ser encontrado na marca de chave do arquivo XML, encontrado neste diretório:
< Magento1 root directory>/app/etc/local.xml
Agora que criamos o arquivo config.xml, a próxima etapa opcional está atualizando os arquivos de mapeamento. A ferramenta de migração usa arquivos de mapeamento para executar o mapeamento de banco de dados do Magento 1 para o Magento 2. Os arquivos de mapeamento contêm informações sobre como alterar os nomes de tabela e campo de banco de dados, quais tabelas e campos pode ser ignorada, e outras informações como essa. Você pode encontrar os arquivos de mapeamento neste diretório:
<Magento2 root directory>/vendor/magento/data-migration-tool/etc
Passar por esses arquivos e se você precisar atualizar qualquer um desses, faça uma cópia do arquivo que você precisa para editar e remover o .dist do nome. Por exemplo, se você estiver usando o arquivo map.xml.dist, faça uma cópia desse arquivo com o nome map.xml. Assim que estiver pronto editá-los, você precisa atualizar o arquivo config.xml com o novo nome de arquivo no nó opcional. Se você adicionou o arquivo map.xml, o código do arquivo config.xml criado anteriormente será assim:
1 |
<source>
|
2 |
<database host="127.0.0.1" name="magento1" user="root" password="abc"/> |
3 |
</source>
|
4 |
<destination>
|
5 |
<database host="127.0.0.1" name="magento2" user="root" password="abc"/> |
6 |
</destination>
|
7 |
<options>
|
8 |
<source_prefix>magento1</source_prefix> |
9 |
<crypt_key>Look at Magento 1 root directory/app/etc/local.xml</crypt_key> |
10 |
<map_file>etc/ce-to-ce/1.9.1.0/map.xml.dist</map_file> |
11 |
</options>
|
Migrar configurações, dados e delta
Agora que nós somos feitos com toda a migração planeamento, instalações, configurações e assim por diante, vamos começar o processo de migração. Para isso, você precisará executar a ferramenta de migração. Para executar a ferramenta de migração, digite seu usuário no servidor Magento com permissões de escrita. Para executar comandos do Magento em qualquer diretório, adicione Magento Root Directory/bin no seu caminho do sistema, ou você pode executar os comandos desta forma:
1 |
cd <Magento root dir>/bin |
Use o seguinte comando para iniciar a migração:
1 |
bin/magento migrate:<mode>{<path to config.xml>} |
Aqui o modo pode ser configurações, dados ou delta, e o caminho para o arquivo config.xml será um caminho absoluto.
Você precisa executar a migração nesta ordem:
- Configurações de migração
- Migrar dados
- Migração de delta (alterações)
Migrando configurações de pagamento, impostos, frete, configurações relacionadas a suas lojas, sites e etc. Para executar a migração de configurações, execute este comando:
1 |
bin/magento migrate:settings{<path to config.xml>} |
Isto não pode migrar todos os dados. Você precisa fazer login com o painel de administração, para verificar manualmente se tudo é transferido corretamente. Se houver qualquer problema, você pode executar novamente esta declaração, mas desta vez, use o argumento de reset para começar a migração desde o início. O comando ficará assim:
1 |
bin/magento migrate:settings [-r|--reset] {<path to config.xml>} |
Assim que estiver pronto com as configurações, em seguida, começa a migração de dados. O procedimento é o mesmo que antes, com uma mudança simples argumento. O comando a ser executado será parecido com este:
1 |
bin/magento migrate:data {<path to config.xml>} |
Quando você executar uma migração de dados, a ferramenta de migração verifica que os campos de suas antigas e mais recentes versões de Magento e tabelas de banco de dados são consistentes. Em caso de inconsistência, ele tenta encontrar as informações dos arquivos de mapeamento.
Se ele não encontrá-lo lá, ele vai lançar um erro mencionar nomes de tabela e campo preocupantes. Geralmente, o problema surge quando você usar uma extensão de Magento, cuja estrutura de tabela não é compatível com a estrutura de banco de dados do Magento 2. Nesse caso, você pode também instalar que a versão do Magento 2 de extensão ou você pode ignorar esses arquivos, adicionando as tags <ignore>
no arquivo map.xml
.
Uma vez que você resolver o problema, você pode executar novamente o comando migrar dados. Uma coisa a manter em mente aqui é que a ferramenta de migração controla o progresso durante a migração, e uma vez que você executá-lo novamente, ele continua de onde saiu antes. Para forçá-lo a começar do começo, você pode usar o comando reset, assim:
1 |
bin/magento migrate:data [-r|--reset] {<path to config.xml>} |
O próximo passo é migrar as alterações (delta).
Conforme discutido no artigo anterior desta série, antes de iniciar o processo de migração, você deve parar o cron e também toda a atividade no painel de admin do Magento 1, além de questões de ordem necessárias de gestão e fazer não retomar que a atividade até que o processo de migração seja concluída.
Embora você vai parar de maior atividade no painel de admin do Magento 1 antes de iniciar o processo de migração, haverá alguns problemas acontecendo de processamento de pedidos. Também, talvez novo usuário de clientes ou alterações nos perfis de clientes ocorram durante este tempo. Agora você precisa migrar esses dados usando atualizações incrementais.
Para migrar as atualizações incrementais, execute o seguinte comando:
1 |
bin/magento migrate:delta [-r|--reset] {<path to config.xml>} |
Aqui é preciso ter em mente que a migração incremental é executado continuamente, a menos que você abortar usando o CTRL + C comando. Outra coisa a observar aqui é que esta ferramenta só migra dados gerados pelos módulos do próprio Magento. Se uma extensão de terceiros gera atualizações entretanto, haverá alguns dados que não serão migradas. Se você deseja que os dados sejam migrados, bem, você precisará atualizar os arquivos de configuração do Magento 2. Que precisa de algum conhecimento prévio de especificação interna da ferramenta de migração de dados, e está além do escopo deste artigo.
Migrar manualmente os dados
Novamente referindo-se volta para o primeiro artigo desta série, embora a ferramenta de migração fará a maior parte do trabalho pesado do processo de migração, existem três tipos de arquivos que você precisa para transferir manualmente:
- Arquivos de mídia
- Design Frontend da loja
- ACLs (listas de controle de acesso)
Para transferir os arquivos de mídia, primeiro vá para o painel de admin do Magento 1. Vá para Sistema > Configuração > Avançado > Sistema.
Sob a tab Configuração de armazenamento de media, selecione o banco de dados de mídia na lista e clique em Sincronizar.



Agora vá para o painel de admin do Magento 2, Lojas > Configuração > Avançado > Sistema.
Em Configuração de armazenamento de mídia, selecione o banco de dados de mídia e clique em Sincronizar.
Isto irá cuidar dos arquivos de mídia que são armazenadas no banco de dados do Magento. Agora, para transferir outros arquivos de mídia, copie a pasta toda a mídia do seu diretório de raiz do Magento 1 e cole para mesclá-lo neste local com Magento 2:
Magento 2 root directory/pub/media
Uma coisa muito importante a observar aqui é que enquanto você copia, você não deve substituir o arquivo .htaccess. É melhor ter uma cópia de backup do arquivo htaccess antes de transferir a pasta media, para que você não acidentalmente substitua o arquivo.
Para transferir os arquivos do tema de sua loja, você precisa transferir o phtml, js, css e arquivos xml para os locais apropriados no Magento 2. A estrutura de pastas é diferente do Magento 1. Este artigo do Magento dev docs lhe dará uma boa visão geral da estrutura de pasta de tema do Magento 2.
Além de transferir manualmente os arquivos de tema, você também precisará recriar manualmente as credenciais para os serviços web REST e SOAP que estiver usando em seu site, e também você precisará recriar os usuários administrativos e definir seus privilégios de acesso.
Etapas de pós-migração
Agora que você concluiu todas as etapas necessárias para a migração, aqui estão algumas últimas coisas a fazer para ter uma loja totalmente funcional no Magento 2.
- Você precisa colocar o Magento 1 no modo de manutenção e começar um trabalho no cron Magento 2.
- Limpar os caches de Magento 2 e re-indexar todos os índices.
- Mudar o DNS para apontar para Magento 2, para desviar o tráfego para o novo site.
Se você tiver feito isso até aqui, parabéns! Sua loja Magento 2 nova está pronta. O tempo e esforço que você colocar para transferir o site para a versão mais recente do Magento realmente vale a pena. Esta nova versão do Magento oferece melhor desempenho e escalabilidade, novos recursos para aumentar as taxas de conversão e agilidade nos negócios e melhorias de produtividade. Seu site está pronto para ir para o próximo nível com estes recursos avançados.