In this post, we will cover data migration from Magento 1 to 2 using two functionalities — Firebear Improved Import and Export (with the migration-related add-on) and Magento 2 Data Migration Tool. Here you can find insights on the tools’ specifics and performance scale.
To have adequate expectations from data migration, first, we must know what a Magento migration process entails. Professionals approach the task by dividing migrations into types based on the object of the transfer. Data, themes, customizations of all kinds, and third-party extensions require management by means of separate tools due to the logic specifics. For example, attribute sets differ in Magento 1 and Magento 2, so they must be migrated via plugins with access to data editing and full control over the transfer steps. We are going to discover the peculiarities of the data type migrations following the transfers via Magento 2 Data Migration Tool and Firebear Improved Import and Export.
Native Magento 2 Data Migration Tool is built by the team to expand the user experience with the platform. Using familiar data structures, the tool assists in moving data to the more advanced Magento version.
Firebear Improved Import and Export is a multifunctional extension aimed at full database management. It holds advanced data exchange abilities and retrieves data from any source, which can be used for successful Magento 1 migration. The free Magento migration add-on, based on the extension logic, runs transfers from Magento 1 to Magento 2 or between several Magento 2 instances, and provide extra UX features. The pair of functionalities will be explored in the post below in comparison with the native Magento 2 tool.
Migration Premise
Data migration from Magento 1 to Magento 2 starts with enabling the relevant software. Both Improved Import and Export and Native Magento 2 Data Migration Tool are installed via composer.
Note that! The free Magento 1 Migration add-on can be added to the database only after the parent module implementation.
Magento 2 Data Migration Tool version must match the version of your store platform (e.g., the tool 2.3.0 for Magento 2.3.0).
The details of Magento 2 Improved Import and Export installation can be found in the related documentation. To learn how to install the Magento 1 Migration add-on follow the manual.
Before running the migration apps you need to prepare your site for the upcoming data transfers. Magento 2 Migration Tool and Improved Import and Export require a fresh database with no entities created to perform migrations successfully. In addition, you must configure Magento 2 stores corresponding to the ones in Magento 1 to provide the background for migrations.
Migration Specifics
Magento 2 Data Migration Tool is an exclusively command-line interface that allows managing migration via console. The functionality introduces four key terms that are used to define migration components:
source — Magento 1 database;
destination — Magento 2 database;
document — MySQL table;
field — MySQL column.
The core idea of the migration is to deliver data compiled in documents from the source to the destination, using XML files for migration configuration. The tool processes all the fields in the documents, so all the data must be mapped and match Magento 2 supported values.
The native migration tool transfers all the data related to the EAV relationships and store configs according to the classes specified in XML files. However, the following data must be migrated manually:
media;
storefront design;
admin user accounts;
Access Control Lists (ACLs).
Third-party extensions and custom code can’t be transferred with the tool. For the types of migrations, the Magento team offers additional software. The info on them can be found in the guides.
Let’s turn to Improved Import and Export. The extension runs cross-platform migrations in a way all Magento users are familiar with — file import. File import with Improved Import and Export implies a configuration of a special rule — a job — that can be used for automatic and manual data transfers. In addition. the extension possesses multiple features that make it stand out from other data migration tools.
Improved Import and Export supports all the Magento 2 entities with a focus on entity specifics and enables a selective migration of any part of the Magento 1 database.
The extension retrieves data from any existing platform, while Magento 1 migrations extend the functionality by processing Magmi files and tables created with the Magento 1 Export module.
The migration data can be implemented via REST/SOAP API, Google Sheets, FTP/SFTP, Dropbox, direct URL, file upload.
All the migration data can be customized with advanced mapping options right at the job configuration page.
The Magento 1 to Magento 2 Migration add-on provides extra ways of dealing with migrations: command-line control and admin panel configuration. The add-on is able to process migration data upon specifying the Magento 1 server credentials, where:
Host — the IP address of the source database server;
Database Name — the name of the source database;
Username — the login to the source store server;
Password — the password related to the login.
Improved Import and Export and the migration add-on transfer only store data. If you are interested in migrating themes, customizations, or third-party extensions, request custom development services from our team.
Migration Process
The key point of any Magento 1 migration is the data table composition. It can be done manually (for the tips follow our guide) and automatically via data export or direct connection (like in the Magento 1 Migration add-on case). Specialists advise to clean all the outdated info from the source database and check data so that they match Magento 2 supported attributes. Some of the Magento 1 attributes are not necessary for the entity migration (e.g., telephone number in customer info) and can be deleted, others can be mapped in the XML code or with Improved Import and Export functionality. Once, the source data is ready you can run the migration.
The native Data Migration Tool divides the process into three modes:
Settings — website and store configuration transfer.
Data — Magento entities migration.
Delta — changes implementation (real-time actions involving customers, orders, products, and categories both in the backend and frontend).
The migration order of the data must follow the priority we specified in the mode list (starting with Settings and employing Delta as the last step). Each mode implies integrity, data, and volume checking stages when the data is compared, copied, and verified. As we mentioned earlier, the migrations are run based on consecutive XML events via command line. If the process is interrupted, the migration tool saves progress and continues the migration from the last error-free command.
Note! As the tool migrates a full database at a time, it is wise to transfer data in groups to avoid losses. Consider MySQL dumps to return data to the original state in case of the system crash.
Upon the last bit implemented, the tool puts Magento 2 site in downtime. During the maintenance mode, the system re-index stocks, starts cron, warms up cache, and flips DNS. After the procedures, Magento 1 to Magento 2 migration is officially finished.
To start the migration process with Improved Import and Export, you need to configure a job.
Specify General Settings and activate cron updates not to lose changes in the old system.
Select an entity for migration among the whole list supported by Magento 2. During the step, you can enable API and select the platform to retrieve data from. In this case, go for Magento 1.
Define the import behavior of the migrated data. Select the validation strategy and decide whether some errors are critical for the process or not.
Add info about the import source and source file type.
Map the data to avoid any conflicts and adjust product prices if needed.
Run the job to see the migration done.
Selective migration provides full control over the process. However, make sure to transfer separate entities in the right order. To create a healthy database, maintain the following migration sequence:
Categories;
Product attributes;
Products;
Customers;
Quotes;
Orders;
Other entities based on the logic of Magento 2 structures.
The free Magento 1 to Magento 2 Migration add-on also provides selective migration of all the supported entities. The add-on is developed for those who’s got used to working with commands. The standard command-line migration employs the entity-related commands and follows the same migration order as Improved Import and Export requires.
The admin panel migration presents a simplified command-line interface that doesn’t involve manual command typing. The method introduces a console-like UX feature so that a user is still able to control each command that is entered (the entity migration order must remain the same as for the parent module). It requires three steps to enable the process.
Specify the Path to Magento Root Directory to indicate the folder with a Magento 2 instance where your Magento 1 database will be implemented.
Select a Command from the dropdown with the list of Magento 2 entities. Thus, you are able to migrate only specific entities and perform selective transfers via a console interface.
Run the Command.
Note! Improved Import and Export along with the migration dedicated add-on DO NOT trigger site downtime, stop cron, or make changes in DNS and load balancers. Magento stays available from both the admin and customer views.
Firebear Improved Import and Export and Magento 2 Data Migration Tool Comparison
Improved Import and Export (with the migration add-on)
Native Data Migration Tool
Type of control
Database File Import, Command-line, and Admin Panel
Command-line
Migration scale
Transfer of all types of entities;
no theme or custom content support
Database import, excluding themes and customizations
Migration flexibility
Selective migration with the ability to transfer data from a specific date
Full database transfer
Connection stability
Direct SQL connection
Direct SQL connection
Store accessibility during the reading, processing, writing stages
Magento 1 is live
Magento 1 can stay live, but it is advised to disable Magento 1 cron and avoid any admin changes at the time