Today, I am going to show everybody the best guide, How to migrate Magento 1 to Magento 2. This example I will do with Magento 1.9 to 2.3.x using the data migration tool from Magento.
As far as I know, Magento has developed the Magento 2 Data Migration Tool to help us efficiently move all of our products, customers, and order data, store configurations, promotions and more to Magento 2, however, there is not many peoples know how to use this data migration tool correctly. That is the reason why I do this guide.
Before doing this practice, we need to know what this tool is supporting?
The Data Migration Tool transfers data from the M1 database to the M2 database based on a set of rules defined in XML files. To be clear, this tool only transfers data. Themes and customizations of your store can't be automatically changed or migrated to Magento 2. The Data Migration Tool supports the following features:
1. Migrate Settings
This tool supports to migrate settings, websites, and stores to M2. Most of Magento data is related to websites and stores, so this needs to go first.
2. Migrate Data
This tool will transfer categories, products, customers, orders, wishlists, reviews, and ratings, everything you can think of into M2. I believe we will even turn off some things, like logs or quotes.
3. Migrate Delta
After successful data migration, you can always just append new M1 entries to the M2 database with delta migration, it will continue where it stopped last time. Delta doesn't migrate new or changed products or categories (at the moment of writing), only customers, orders, and similar customer-related data. In this guide, I will show everybody, the basic steps to migrate from Magento CE 1.9.2.3 to Magento CE 2.3.0 using the data migration tool, for the Magento versions 1.x other, you can do similar as the way.
Okie, let's go. Let's do this practice, you need to follow steps by step:
Step 1: Install the Magento CE 2.3.0 site.
- Before migrating, you must install Magento 2.3.0 on your website. Also, it must be an empty Magento CE 2.3.0 site, you don't add any products, categories, cms blocks, cms pages, or update settings.
- Run the following command lines: php bin/magento setup:upgrade php bin/magento setup:di:compile php bin/magento setup:static-content:deploy -f
Step 2: Install the Data Migration Tool
-Run the command line: composer require magento/data-migration-tool:2.3.0
Step 3: Import the Magento 1.9.2.3 database.
- Create a new database for importing the database of Magento 1.9.2.3 to backup
Step 4: Configure the Data Migration Tool
-Go the folder vendor\magento\data-migration-tool\etc\opensource-to-opensource\1.9.2.3 1. Configuring the migration
- Copy the file named config.xml.dist to config.xml
- Open the file named config.xml for editing
- Update the information for the source and destination database.
- Add the password for connecting to the database - The crypt_key tag is mandatory to fill. It can be found in local.xml file which is located in the directory of Magento 1 instance at app/etc/local.xml in key tag - Update the source_prefix and dest_prefix if it exists in the Magento 1 Database. 2. Work with configuration and mapping files
- Copy the file named map.xml.dist to map.xml In the map.xml file, you can allow or ignore the column of data
Step 5: Run the settings migration command
- Migrate settings bin/magento migrate:settings vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.2.3/config.xml
- Migrate data bin/magento migrate:data -a vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.2.3/config.xml
- Copy the media files from Magento 1.9.2.3 to Magento 2.3.0
Step 6: Test and see the results
- Run the following command lines: php bin/magento indexer:reindex php bin/magento cache:flush
- Go to the Magento Admin Panel - Go to the Storefront. Yeah, It works perfectly. I have been successfully migrated from Magento CE 1.9.2.3 to Magento CE 2.3.0 using the Data Migration Tool. This is the default tool of Magento 2.