June 2020 is fast approaching. This is the deadline after which Magento will stop support for all its M1 versions. Those Magento merchants who fail to migrate to Magento 2 by June 2020 are going to face serious maintenance and security issues. Their stores are also going to miss out on some advanced performance optimization features.
For those who are all set to undergo Magento 2 migration, it is important to know the steps involved in the migration process. With the right steps and a well thought out plan, migrating to Magento 2 can be a time for innovation and positive technical transformation within the online business.
Broadly, the Magento migration process is divided into the following four stages.
- Theme Migration
- Extension Migration
- Data Migration
You can install the same Magento 1 theme if it is compatible with Magento 2. If it’s not, you can either create or buy a custom theme from Magento marketplace.
Magento 1 extensions are not compatible with Magento 2 so you have to install new Magento 2 extensions. There is no tool either to migrate extensions from M1 to M2.
Customization using Code Migration tool
With the Code Migration Tool, you can safely migrate the custom code to Magento 2.
The last step is to migrate the data. This is a crucial step as you can’t afford to lose the customers, orders, products, or store configuration data while migrating to Magento 2. The Data Migration tool will help you safely migrate the Magento 1 database and make it compatible with Magento 2.
The data migration tool is the most important in this whole process. Configure it incorrectly and you will end up losing lots of useful data. Let’s see how to install and configure it the right way.
How to Install Magento 2 Data Migration Tool
For the tool to work, its version should be the same as the Magento 2 store. For example, if your Magento versions is 2.1.1, you must install the Data Migration Tool v2.1.1. If you are not sure about your Magento 2 version, go to your Magento 2 root directory via SSH and enter the command below.
php bin/magento –version
Now, run the following two commands to update the location of the Data Migration Tool package in the composer.json file.
composerconfigrepositories.magento composer https://repo.magento.com
Composer require magento/data-migration-tool:<version>
Where <version> is the data migration tool version which is the same as that of your Magento 2 store. For example, if the version is 2.1.1, the above command will be replaced with:
Composer require magento/data-migration-tool:2.1.1
Here, you will need to enter your developer authentication keys. The way to find the authentication keys is to go to Magento marketplace, login and click on My Access Keys under My Products tab.
Remember, public key is the username and private key is the password.
How to Configure Data Migration Tool?
Once you are done with the installation of the tool, you will deal with the following directories which contain mapping and configuration files for the tool.
<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/ opensource-to-opensource
This directory contains configuration and scripts for migrating from Magento 1 Open Source platform to Magento 2 Open Source platform.
For Magento 1 open source to Magento 2 commerce, use this command.
<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-commerce
You must create a config.xml file in the relevant directory before migrating any settings and data. For example, go to the <Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-commerce/<Magento 1.x version> directory, if you are migrating data from Magento 1 Open Source platform to Magento 2 commerce. Also, rename config.xml.dist to config.xml.
Now, open config.xml in an editor and specify the following.
<database host=“localhost” name=“Magento1-DB-name” user=“DB-username” password=“DB-password” />
<database host=“localhost” name=”Magento2-DB-name” user=“DB-username” password=“DB-password” />
<source> : has Magento 1’s database information
<destination> : has relevant information of Magento 2
<crypt_key> : the encryption key of Magento 1 which can be found in in <key> tag for <Magento 1 rootdir>/app/etc/local.xml file.
Finally, save the config.xml.
How to Migrate Settings?
Settings include stores, system configurations such as tax settings, shipping, payment etc. To migrate settings, Navigate to your Magento 2 root directory via SSH and run the following command:
php bin/magentomigrate:settings –reset <path to your config.xml>
where<path to your config.xml> would be vendor/magento/data-migration-tool/etc/opensource-to-opensource/<Magento 1.x version>/config.xml. The –reset argument forces the data migration to start from the beginning.
You will get a success message upon successful migration.
How to Migrate Data?
Data includes products, customers, orders, categories, etc. To migrate data, run the following command.
php bin/magentomigration:data –reset <path to your config.xml>
If everything goes smooth, a success message will be displayed.
After you are done, run a test to see if everything is working well.
Migrating to Magento 2 is the need of the day and the first thing you should do to take advantage of all the great features Magento 2 has to offer. The process is not that easy and should be undertaken by certified professional Magento developers. Any mistake in the migration process will lead to loss of valuable data and/or poor store performance.