Troubleshooting
Common error messages
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
1
Source documents are not mapped: <EXTENSION_TABLE>
1
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.
Explanation
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.
Possible solutions
-
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.
-
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:
1
2
3
<ignore>
<field>sales_order_address_id</field>
</ignore>
Before ignoring entities, make sure you do not need the affected data in your Magento 2 store.
Class does not exist but mentioned
1
2
Class <extension/class_name> does not exist but mentioned in:
<eav_attribute.frontend_model> for <attribute_id=196>
Explanation
A class from Magento 1 codebase could not be found in Magento 2 codebase during the EAV migration step. In most cases, the missing class belongs to an extension.
Possible solutions
-
Install the corresponding Magento 2 extension
-
Ignore the attribute that causes the issue
For this, add the attribute to the
ignoregroup in theeav-attribute-groups.xml.distfile. -
Add class mapping using the
class-map.xml.distfile
Foreign key constraint fails
Error message text
1
2
3
Foreign key <KEY_NAME> constraint fails.
Orphan records id: <id_1>, <id_2> from <child_table>.
<field_id> has no referenced records in <parent_table>
Explanation
There are missing database records in the parent_table to which the field_id of the child_table is pointing to.
Possible solution
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 config.xml.
Duplicates in URL rewrites
1
2
3
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
Explanation
The 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.
Possible solution
Enable the auto_resolve_urlrewrite_duplicates option in your config.xml file.
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
1
Mismatch of entities in the document: <DOCUMENT>
Explanation
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.
Solution
Run the Data Migration Tool in Delta mode to transfer incremental changes.