Did you face any trouble while migrating the data from Magento 1.x to Magento 2.x?
Not even an issue with data consistency when you migrate the database?
Well, if yes, then you’re not the only one who got a bug to fix.
Let me share our recent experience with you.
RLTSquare got an order from one of our clients; UKdigital, to migrate Magento 1 to Magento 2.3.
UKdigital is an independent retailer based in the U.K. specializing in everything to facilitate the photographers. Their product ranges from cameras and lenses to camcorders and accessories galore.
Migrating from Magento 1 to Magento 2 will enhance UKdigital’s site performance and load seed. Hence, the data on the previous version was not consistent and crashes the migration tool.
Amongst the several reasons to cause this, one reason could be the inconsistency in the attributes and their association with the products.
Fixing those inconsistencies is almost impossible on the live Magento 1 site. You cannot simply log on to the live Magento 1 site and continue to fix the error.
Hence, the best way to do this is to remove those inconsistent rows in tables on Magento 1. These rows are reported by the migration tool while running on Shell.
For example, if an attribute is reported in a bug on migration command, remove it from these tables below:
- eav_attribute
- catalog_eav_attribute
- eav_entity_attribute
However, make sure the attribute is not in use otherwise it will not let you remove the bug so simply.
To do this, find
$to->setValue($key, $value); in RecordTransformer.php and replace it with
try{
$to->setValue($key, $value);
}catch(Exception $e){continue;}
However, on the other hand, if that attribute is in use on any of the blocks or product pages, the best way to continue with migration is to do it from the local machine.
This can be achieved by dumping the database from Magento 1, altogether. This makes the process easy and removing the database.
After the migration is done, start working on other tasks on Magento 2, for example, listing products, theme development, and speed testing.
And before going live, run the migration on a fresh Magento 2 database again and merge the other code after the migration.
Then?
Simply GO LIVE!