This section is about the errors that might occur when you run the Data Migration Tool, and how to deal with them.
Source documents/fields not mapped
Source documents are not mapped: <EXTENSION_TABLE>
Source fields are not mapped. Document: <EXTENSION_TABLE>. Fields: <EXTENSION_FIELD>
In rare cases, the message might mention
Destination documents or
Destination fields instead of source ones.
Some Magento 1 entities (in most cases, coming from extensions) do not exist in the Magento 2 database.
This message appears because the Data Migration Tool runs internal tests to verify that tables and fields are consistent between source (Magento 1) and destination (Magento 2) databases.
Install the corresponding Magento 2 extensions from Magento Marketplace
If the conflicting data originates from an extension which adds own database structure elements, then the Magento 2 version of the same extension may add such elements to the destination (Magento 2) database, thus fixing the issue.
-aargument when executing the tool to auto resolve errors and prevent migration from stopping.
Configure the Tool to ignore the problematic data
To ignore database entities, add the
<ignore> tag to an entity in the
map.xml file, like this:
... <source> <document_rules> ... <!-- Ignore `sales_flat_invoice_grid` table --> <ignore> <document>sales_flat_invoice_grid</document> </ignore> <!-- Ignore `address_id` field of `sales_flat_order_address` table --> <ignore> <field>sales_flat_order_address.address_id</field> </ignore> ... </document_rules> </source> ...
Before ignoring entities by map file or using the
-a option, make sure you do not need the affected data in your Magento 2 store.
Class is not mapped in record
Class <extension/class_name> is not mapped in record <attribute_id=196>
Install the corresponding Magento 2 extension
Ignore the attribute that causes the issue
For this, add the attribute to the
ignoregroup in the
Add class mapping using the
Foreign key constraint fails
Error message text
Foreign key <KEY_NAME> constraint fails on source database. Orphan records id: <id_1>, <id_2> from <child_table>.
<field_id> has no referenced records in <parent_table>
There are missing database records in the
parent_table to which the
field_id of the
child_table is pointing to.
Delete the records from the
child_table, if you do not need them.
To keep the records, disable the
Data Integrity Step by modifying the Data Migration Tool's
Duplicates in URL rewrites
There are duplicates in URL rewrites: Request path: towel.html Store ID: 2 Target path: catalog/product/view/id/10 Request path: towel.html Store ID: 2 Target path: catalog/product/view/id/12
Target path in a URL rewrite must be specified by a unique pair of
Request path +
Store ID. This error reports two entries that use the same
Request path +
Store ID pair with two different
Target path values.
auto_resolve_urlrewrite_duplicates option in your
This configuration adds a hash-string to the conflicting records of URL rewrites, and shows the resolution result in your command line interface.
Mismatch of entities
Mismatch of entities in the document: <DOCUMENT> Source: <COUNT_ITEMS_IN_SOURCE_TABLE> Destination: <COUNT_ITEMS_IN_DESTINATION_TABLE>
The error occurs during the Volume Check step. It means the Magento 2 database record count of the document is not the same as in Magento 1.
Missing records happen when a customer places an order during migration.
Run the Data Migration Tool in
Delta mode to transfer incremental changes.
Deltalog is not installed
Deltalog for <TABLE_NAME> is not installed
This error occurs during incremental migration of changes to data. It means deltalog tables (with prefix
m2_cl_*) were not found in Magento 1 database. The tool installs these tables during data migration as well as database triggers which track changes and fill deltalog tables.
One reason for the error could be that you are trying to migrate from a copy of your live Magento 1 store, not from the live store itself. When you make a copy from a live Magento 1 store that has never been migrated, the copy does not contain the triggers and additional deltalog tables needed to complete a delta migration, so the migration fails. The Data Migration Tool does NOT make comparisons between the DB of M1 and M2 to migrate the differences. Instead, the tool uses the triggers and deltalog tables installed during the first migration in order to perform subsequent delta migrations. In such a case, your copy of the live Magento 1 DB will not contain the triggers and deltalog tables that the Data Migration Tool uses to perform a migration.
We recommended testing the migration process from a copy of your Magento 1 database to fix your migration issues. After fixing the issues on the copy, start the migration process over again from your live Magento 1 database. This will help ensure a smooth migration process.