magento / magento/data-migration-tool

Why is the newer 2.3.5 Step/Eav/Data.php so much smaller

Open
#812 20 comments 0 reactions 0 assignees View on GitHub
Dominant language
PHP
Stars
339
Forks
195
PR merge metrics
No merged PRs in 30d

Description

Magento 1 1.7.0.2 to Magento 2.3.4 / Magento 2.3.5 Migration

I have so many issues with Migration from 1.7.0.2 to 2.3.4 / 2.3.5

Previously, I managed to get migration to work (1.7.0.2 - to 2.2x); but newer versions give more issues. I merged **everything** to map.xml and deltalog.xml from older versions that were required for the custom tables / data fields.

The recent version 2.3.4 Data Migration Tool
`composer require magento/data-migration-tool:2.3.4` failed at another section compared to this 2.3.5 version.

So decided to update:
`composer require magento/product-community-edition:2.3.5`
`composer require magento/data-migration-tool:2.3.5`

Now the error moved to this:

> SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '9-meta-information' for key 'EAV_ATTRIBUTE_GROUP_ATTRIBUTE_
> SET_ID_ATTRIBUTE_GROUP_CODE'

So then I investigated the code of [this commit](https://github.com/magento/data-migration-tool/blob/dfd8a6e452082aee7b6a6e273be278be7a930a99/src/Migration/Step/Eav/Data.php) and a previous [commit](https://github.com/magento/data-migration-tool/blob/2bdfa8b0667393cdef060ddcf4063a4ee7e9b732/src/Migration/Step/Eav/Data.php)

**Two questions:**
1) The first one that made me query this is that the **older commit** had this method:
```
public function getIterationsCount()
{
return count($this->readerGroups->getGroup('documents'));
}

```
and was called like this inside `perform()`
`$this->progress->start($this->getIterationsCount());`

The newer commit doesnt have this method anymore:
`$this->progress->start(7);`

2) The newer commit has 672 lines of code, the older commit 1309 lines.
Ever since that commit where `$this->progress->start(7);,` is called, newer code was added and the latest commit is on 719 lines.

- Why is the $this->progress->start(7); now hardcoded, and the dynamic count calculation method removed, isn't there alot of code missing that were helping with processing from the older commits?

- Since this version has much less processing code, what are my options now for Migrating 2.3.5?
- Obviously if Magento 2.3.4 / data-migration-tool:2.3.4 was working, I would have done it that way... but it doesn't work either.

- Should I revert data-migration-tool to 2.3.4 and then try and migrate directly on Magento 2.3.5?

- The questions are basically :
1 - `$this->progress->start(7);` made me question why its not dynamic when it previously were, so didn't alot of processing code get lost somewhere?
2 - OR is the difference between 2.3.4 so vast to 2.3.5 that less EAV processing code is required?

Contributor guide

Open the contributing guide

Research direction

Start with src/Migration/Step/Eav/Data.php and compare the two linked commits, focusing on perform(), getIterationsCount(), and progress->start(7). Reproduce the Magento 1.7.0.2 to 2.3.5 migration and the duplicate EAV attribute-group entry, then document whether the reduced code is intentional and which supported version or migration path resolves it.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
backend, databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.