magento / magento/data-migration-tool
Why is the newer 2.3.5 Step/Eav/Data.php so much smaller
- 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
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