eCommerce Tips & Trends

Magento Migration: 5 Steps to Migrate from Magento 1 to Magento 2

Jules

by Jules

On 2019 M08 21

by Jules

With the release of Magento 2.0 in July 2015, more and more online merchants using Magento 1 have increasingly began to transition to the newer version of the eCommerce platform. Migrating platforms, however, can certainly seem like a daunting task, especially for online merchants with limited coding and development knowledge.

Fortunately, migrating from Magento 1 to Magento 2 can be done in just a few simple steps. Here’s a closer look at some reasons to switch to the newer version of the platform and how to complete the Magento migration process quickly and simply!

Why Switch from Magento 1 to Magento 2?

Why transition between from the older version of Magento to the newer one? Here’s how the Magento update can help your online store!

  • Significantly improved performance and scalability: With a Magento migration, your website pages can load quicker, server response is boosted, proficiency of backend operations is enhanced and enhanced database flexibility will be available to help your site deal with peak traffic times.
  • Improved and safer checkout: After a Magento 2 migration, your store visitors and customers can enjoy simple and safer checkouts. With visitors recognized as guests of the site, the need for logging in or registering is completely eliminated as users proceed to checkout. There’s also an easy and seamless integration of convenient payment methods available.
  • Responsive and mobile-friendly designs: Another reason to take advantage of this Magento upgrade is that new version of the eCommerce platform comes with responsive and mobile-friendly designs to suit your site’s visitors. By upgrading to a more mobile-friendly version of your website, you can tap into the rapid growth of mobile eCommerce to potentially boost your traffic and sales.

Other reasons why you should make the switch to Magento 2 include a simplified and more organized administrator interface, enhanced security, ease of upgrades, availability of useful extensions, instant purchases, email marketing automation and more!

What is the Magento Migration Process?

In order to effectively complete a Magento migration, there are generally four different stages to complete for a successful switch to the newer version of the eCommerce platform:

  1. Data migration
  2. Extension migration
  3. Customizations migration
  4. Theme migration

Fortunately, there are tools available to help you effectively migrate data from one version of Magento to the other. This also applies to the extensions, customizations and themes being currently used on your online store.

How to Migrate from Magento 1 to Magento 2

There are five steps in migrating from Magento 1 to the simpler and more efficient Magento 2. They include:

  1. Set Up the Magento 2 Instance
  2. Download the Magento Data Migration Tool
  3. Configure the Magento Data Migration Tool
  4. Provide All the Prerequisites
  5. Migrate Your Site

1. Set Up the Magento 2 Instance

This initial step starts with downloading the platform if you haven’t already, excluding the sample data. Then, go ahead to follow the setup wizard process to have the eCommerce platform installed.

2. Download the Magento Data Migration Tool

Having installed the platform, the next step is to download the data migration tool.

First, you’ll need to open the command line found in the root folder of Magento 2 and follow the ensuing command, making sure that the version of the migration tool matches with that of the platform.

When you’re prompted for public and private key for authentication, you'll need to login to your account, click on “My Accounts”, click on the developer link on the left-hand menu and finally click on security keys in order to find your keys.

With all the details filled in, a new folder named “data migration tool” is created in /vendor/magento/.

3. Configure the Magento Data Migration Tool

With the data migration tool downloaded, the next step is to configure the same. You’ll see three unique folders named:

  • ce-to-ce
  • ce-to-ee
  • ee-to-ee

The first one (ce-to-ce) contains scripts and configuration files for data migration from Magento 1 CE to Magento 2 CE.

The second folder (ce-to-ee) contains scripts and configuration files for data migration from Magento 1 CE to Magento 2 EE while the third folder (ee-to-ee) contains scripts and configuration files for data migration from Magento 1 EE to Magento 2 EE.

You’ll need to enter the directory for which the migration is being performed. For example, choose ce-to-ce and then ultimately enter the directory containing the Magento 1 version name.

The next thing to do is to make a copy of the file map.xml.dist and rename it map.xml.

<source>

<database host=”magento1host” name=”magento1databasename” user=”magento1databaseusername” password=”magento1password” />

</source>

<destination>

<database host=”magento2host” name=”magento2databasename” user=”magento2databaseusername” password=”magento2password” />

</destination>

<options>

<source_prefix>magento1tablesprefix</source_prefix>

<dest_prefix>magento2tablesprefix</dest_prefix>

<crypt_key>f3e25abe619dae2387df9fs594f01985</crypt_key>

</options>

Make a copy of the file config.xml.dist and rename the same config.xml. Open the file and make the following changes:

·   For required values, enter the Magento 1 database details under source and in the destination then enter the Magento 2 database details.

·   For crypt key value, check the local.xml file in the Magento 1 instance directory found at app/etc/local.xml in tag.

After taking .dist out from the file names, you'll need to rename them in the config.xml file in the options tab.

The file location is:

<options>

<map_file>etc/ce-to-ce/1.9.3.0/map.xml.dist</map_file>

<eav_map_file>etc/ce-to-ce/map-eav.xml.dist</eav_map_file>

<eav_document_groups_file>etc/ce-to-ce/eav-document-groups.xml.dist</eav_document_groups_file>

<eav_attribute_groups_file>etc/ce-to-ce/eav-attribute-groups.xml.dist</eav_attribute_groups_file>

<log_map_file>etc/ce-to-ce/map-log.xml.dist</log_map_file>

<log_document_groups_file>etc/ce-to-ce/log-document-groups.xml.dist</log_document_groups_file>

<settings_map_file>etc/ce-to-ce/settings.xml.dist</settings_map_file>

<customer_map_file>etc/ce-to-ce/map-customer.xml.dist</customer_map_file>

<customer_document_groups_file>etc/ce-to-ce/customer-document-groups.xml.dist</customer_document_groups_file>

<customer_attribute_groups_file>etc/ce-to-ce/customer-attribute-groups.xml.dist</customer_attribute_groups_file>

<delta_document_groups_file>etc/ce-to-ce/deltalog.xml.dist</delta_document_groups_file>

<order_grids_document_groups_file>etc/ce-to-ce/order-grids-document-groups.xml.dist</order_grids_document_groups_file>

<map_document_groups>etc/ce-to-ce/map-document-groups.xml.dist</map_document_groups>

<class_map>etc/ce-to-ce/class-map.xml.dist</class_map>

</options>

After the changes, it should look something like this:

<options>

<map_file>etc/ce-to-ce/1.9.3.0/map.xml</map_file>

<eav_map_file>etc/ce-to-ce/map-eav.xml</eav_map_file>

<eav_document_groups_file>etc/ce-to-ce/eav-document-groups.xml</eav_document_groups_file>

<eav_attribute_groups_file>etc/ce-to-ce/eav-attribute-groups.xml</eav_attribute_groups_file>

<log_map_file>etc/ce-to-ce/map-log.xml</log_map_file>

<log_document_groups_file>etc/ce-to-ce/log-document-groups.xml</log_document_groups_file>

<settings_map_file>etc/ce-to-ce/settings.xml</settings_map_file>

<customer_map_file>etc/ce-to-ce/map-customer.xml</customer_map_file>

<customer_document_groups_file>etc/ce-to-ce/customer-document-groups.xml</customer_document_groups_file>

<customer_attribute_groups_file>etc/ce-to-ce/customer-attribute-groups.xml</customer_attribute_groups_file>

<delta_document_groups_file>etc/ce-to-ce/deltalog.xml</delta_document_groups_file>

<order_grids_document_groups_file>etc/ce-to-ce/order-grids-document-groups.xml</order_grids_document_groups_file>

<map_document_groups>etc/ce-to-ce/map-document-groups.xml</map_document_groups>

<class_map>etc/ce-to-ce/class-map.xml</class_map>

</options>

4. Provide All the Prerequisites

Before proceeding with the rest of the Magento 2 migration, it’s important that you do all of the following:

  • Suspend all current activities ongoing on Magento 1
  • Suspend all cron jobs ongoing on Magento 1 and set the site on maintenance mode
  • Open the ports in your firewall to enable effective communication between the migration tool and the databases and also so that the databases of both Magento 1 and 2 can effectively communicate
  • Migrate your site’s theme to the Magento 2 theme structure
  • Migrate all the Magento customizations and extensions from Magento 1 to Magento 2
  • Make a backup of Magento1.x database, just in case of unexpected complications

5. Migrate Your Site

It’s now time to complete the migration to Magento 2.0!

In order to migrate your site, online store and its attendant system configurations like shipping, payments, tax settings and the like, be sure to use this command to run in the Magento 2 instance:

bin/magento migrate:settings [-r|–reset] {<path to config.xml>}

[-r|–reset] is an optional command that starts the migration from the beginning.

{<path to config.xml>} is the absolute path used in configuring .xml file and is a required field

Your command is:

sudo bin/magento migrate:settings /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/1.9.0.1/config.xml

The moment this is done, the status will show thus: “migration complete”.

The next thing to do is running the data migration command like this:

bin/magento migrate:data [-r|–reset] {}

Your command is:

udo bin/magento migrate:data /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/1.9.0.1/config.xml

The aim of this Magento 2 migration command is to check the consistency of fields and tables between the former version and the present version of Magento. Should there be any errors, it will show in the form of a message, listing the fields and tables that are yet to be mapped.

The solution to this problem is installation of Magento 2 version of the extensions in the same version instance. This way, the missing fields and tables are replicated in the Magento 2 instance database.

Magento Migration: Follow the Right Steps

Migrating from Magento 1 to Magento 2 can help your eCommerce efforts greatly, including by boosting your site’s performance, improving security for your online shoppers and offering a more responsive, mobile-friendly website design. In this day and age, all of these are a must!

Easyship integrates with Magento online stores, helping your eCommerce business take advantage of our discounted courier rates, tax and duty automation, shipment tracking, label generation and more.

Interested in learning more? Sign up for a free Easyship account today to integrate your Magento store with us and see why more than 40,000 clients worldwide have come to trust us with their eCommerce and logistics needs!