Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.

Commit e6cb4d2

Browse files
Merge pull request #599 from magento/dm_MG_Troubleshooting
Migration: new "Troubleshooting" section with Error Messages (dm, 62484)
2 parents 1335281 + 4ca1332 commit e6cb4d2

File tree

7 files changed

+147
-5
lines changed

7 files changed

+147
-5
lines changed

guides/v2.0/migration/migration-manually.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
layout: default
33
group: migration
4-
subgroup: manually
4+
subgroup: E_manually
55
title: Data that needs to be migrated manually
66
menu_title: Data that needs to be migrated manually
77
menu_node: parent

guides/v2.0/migration/migration-migrate-after.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
22
layout: default
33
group: migration
4-
subgroup: n_after
4+
subgroup: _after
55
title: After Migration
66
menu_title: After Migration
77
menu_node: parent
8-
menu_order: 6
8+
menu_order: 7
99
version: 2.0
1010
github_link: migration/migration-migrate-after.md
1111
redirect_from: /guides/v1.0/migration/migration-migrate-after.html

guides/v2.0/migration/migration-migrate-data.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,16 @@ where:
3838

3939
## Possible consistency errors {#migrate-command-data}
4040

41+
While running, the Data Migration Tool may report inconsistencies between Magento 1 and Magento 2 databases, and display messages like this:
42+
43+
{% highlight xml %}
44+
Source documents are not mapped: <EXTENSION_TABLE>
45+
{% endhighlight %}
46+
47+
See the [Troubleshooting]({{page.baseurl}}migration/migration-troubleshooting.html) section of this guide for more information and recommendations.
48+
49+
<!--
50+
4151
When you migrate data, the Data Migration Tool verifies that tables and fields are consistent between Magento 1 and Magento 2. If they are inconsistent, you will see an error message that lists the problematic tables and fields, for example:
4252
4353
Source fields are not mapped. Document: <document_name>. Fields: <field_name>
@@ -70,6 +80,8 @@ To do that, add the `<ignore>` tag to an entity in the `map.xml` file, like this
7080
7181
To know if the issues have been resolved successfully, run the Data Migration Tool again.
7282
83+
-->
84+
7385
## Next migration step
7486

7587
<a href="{{page.baseurl}}migration/migration-migrate-delta.html">Migrate changes</a>

guides/v2.0/migration/migration-tool-internal-spec.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ subgroup: o_mapping
55
title: Data Migration Tool Technical Specification
66
menu_title: Data Migration Tool Technical Specification
77
menu_node: parent
8-
menu_order: 7
8+
menu_order: 8
99
version: 2.0
1010
github_link: migration/migration-tool-internal-spec.md
1111
redirect_from: /guides/v1.0/migration/migration-tool-internal-spec.html
@@ -404,7 +404,7 @@ To ignore documents with similar parts (e.g. document_name_1, document_name_2 e.
404404

405405
This step is quite complex because there are many different algorithms developed in Magento 1 which are not compatible with Magento 2. For different versions of Magento 1 there can be different algorithms. Thus under Step/UrlRewrite folder there are classes that were developed for some of particular versions of Magento and Migration\Step\UrlRewrite\Version191to2000 is one of them. It can transfer URL Rewrites data from Magento 1.9.1 to Magento 2.
406406

407-
#### EAV Step
407+
#### EAV Step {#eav}
408408

409409
This step transfers all attributes (e.g. product, customer, RMA) from Magento 1 to Magento 2. It uses map-eav.xml file that contains rules similar to the ones in map.xml file for specific cases of processing data.
410410

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
---
2+
layout: default
3+
group: migration
4+
subgroup: F_troubleshooting
5+
title: Troubleshooting
6+
menu_title: Troubleshooting
7+
menu_node: parent
8+
menu_order: 6
9+
version: 2.0
10+
github_link: migration/migration-troubleshooting.md
11+
---
12+
13+
## Common error messages
14+
15+
This section is about the errors that might occur when you run the Data Migration Tool, and how to deal with them.
16+
17+
### Source documents/fields not mapped
18+
19+
{% highlight xml %}
20+
Source documents are not mapped: <EXTENSION_TABLE>
21+
{% endhighlight %}
22+
23+
{% highlight xml %}
24+
Source fields are not mapped. Document: <EXTENSION_TABLE>. Fields: <EXTENSION_FIELD>
25+
{% endhighlight %}
26+
27+
In rare cases, the message might mention `Destination documents` or `Destination fields` instead of source ones.
28+
29+
#### Explanation
30+
31+
Some Magento 1 entities (in most cases, coming from extensions) do not exist in the Magento 2 database.
32+
33+
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.
34+
35+
#### Possible solutions
36+
37+
* Install the corresponding Magento 2 extensions from [Magento Marketplace](https://marketplace.magento.com/){:target:"_blank"}
38+
39+
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.
40+
41+
* Configure the Tool to ignore the problematic data
42+
43+
To ignore database entities, add the `<ignore>` tag to an entity in the `map.xml` file, like this:
44+
45+
{% highlight xml %}
46+
<ignore>
47+
<field>sales_order_address_id</field>
48+
</ignore>
49+
{% endhighlight %}
50+
51+
<div class="bs-callout bs-callout-warning">
52+
<p>Before ignoring entities, make sure you do not need the affected data in your Magento 2 store.</p>
53+
</div>
54+
55+
### Class does not exist but mentioned
56+
57+
{% highlight xml %}
58+
Class <extension/class_name> does not exist but mentioned in:
59+
<eav_attribute.frontend_model> for <attribute_id=196>
60+
{% endhighlight %}
61+
62+
#### Explanation
63+
64+
A class from Magento 1 codebase could not be found in Magento 2 codebase during the [EAV migration step]({{page.baseurl}}migration/migration-tool-internal-spec.html#eav). In most cases, the missing class belongs to an extension.
65+
66+
#### Possible solutions
67+
68+
* Install the corresponding Magento 2 extension
69+
70+
* Ignore the attribute that causes the issue
71+
72+
For this, add the attribute to the `ignore` group in the `eav-attribute-groups.xml.dist` file.
73+
74+
* Add class mapping using the `class-map.xml.dist` file
75+
76+
### Foreign key constraint fails
77+
78+
#### Error message text
79+
80+
{% highlight xml %}
81+
Foreign key <KEY_NAME> constraint fails.
82+
Orphan records id: <id_1>, <id_2> from <child_table>.
83+
<field_id> has no referenced records in <parent_table>
84+
{% endhighlight %}
85+
86+
#### Explanation
87+
88+
There are missing database records in the `parent_table` to which the `field_id` of the `child_table` is pointing to.
89+
90+
#### Possible solution
91+
92+
Delete the records from the `child_table`, if you do not need them.
93+
94+
To keep the records, disable the `Data Integrity Step` by modifying the Data Migration Tool's `config.xml`.
95+
96+
### Duplicates in URL rewrites
97+
98+
{% highlight xml %}
99+
There are duplicates in URL rewrites:
100+
Request path: towel.html Store ID: 2 Target path: catalog/product/view/id/10
101+
Request path: towel.html Store ID: 2 Target path: catalog/product/view/id/12
102+
{% endhighlight %}
103+
104+
#### Explanation
105+
106+
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.
107+
108+
#### Possible solution
109+
110+
Enable the `auto_resolve_urlrewrite_duplicates` option in your `config.xml` file.
111+
112+
This configuration adds a hash-string to the conflicting records of URL reqwrites, and shows the resolution result in your command line interface.
113+
114+
### Mismatch of entities
115+
116+
{%highlight xml%}
117+
Mismatch of entities in the document: <DOCUMENT>
118+
{%endhighlight%}
119+
120+
#### Explanation
121+
122+
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.
123+
124+
Missing records happen when a customer places an order during migration.
125+
126+
#### Solution
127+
128+
Run the Data Migration Tool in `Delta` mode to transfer incremental changes.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../v2.0/migration/migration-troubleshooting.md
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../v2.0/migration/migration-troubleshooting.md

0 commit comments

Comments
 (0)