10 Key Magento 2 Data Migration Issues & Their Solution

 

10 Key Magento 2 Data Migration Issues & Their Solution

If you’re considering moving from Magento 1.x—to Magento 2.1-the future ready eCommerce platform, I have just one thing to say-Awesome!

As world’s most popular eCommerce platform, Magento keeps improving the functionality and security with regular upgrades, which directly benefits the end users and aren’t happier end customers an end objective for all online stores. Migration to Magento 2.1 is a critical initiative. Migration to a newer version puts your production environment at risk of failure or downtime as these upgrades involves totally new approach, environment and coding standards.

While migrating to Magento 2.1 is definitely more rewarding as an online store, the process itself is not that smooth, though Magento has taken some steps in this direction in last few months. I am listing down key issues we faced while migrating some of our most successful Magento clients from 1.x to Magento 2.1 in the recent past.

Issue #1 : Grouped Products do not get added to Minicart after data migration

In one of our recent projects, we migrated data from Magento 1.x to Magento 2.0.7. Even after successful migration, we faced an issue with the Grouped Products. When we tried adding Grouped type product to cart, it got added only to the shopping cart. Though it showed updated subtotal in the Minicart, but the product details were not added.

Solution: Developed a custom module which overrides the cart action to display the added products in Minicart.

Issue #2: Checkout button in Minicart does not work after data migration

The checkout in Magento 2 has undergone several improvements and changes to its visual appeal and general flow. It is now driven with JavaScript and KnockoutJS.

We faced an issue with checkout button in Minicart as it was not clickable. As a result, customers were not able to proceed to checkout, but they were able to reach to checkout page by clicking on the checkout button on the shopping cart page.

Solution: Developed a custom module to override the cart action to make the checkout button clickable.

Issue #3: Unable to Edit products from Admin after data migration

Magento provides an easy way to add/update product details to suit your needs.

During migration from Magento 1.x to Magento 2.1.0, we were unable to edit any products and it kept throwing following error message.

“The configuration parameter “component Type” is a required for “advanced_pricing_button” component”

Solution: Developed a custom module to override the configurable price to fix the issue.

Issue #4: Category URLs are not SEO friendly

Magento categories are a useful way to sort and organize the products. We faced a unique issue with category URLs. As Magento 2 creates URLs for categories at the time of saving them, these URLs are not SEO friendly. Even running an indexer could not help.

Solution: Developed a custom script to generate SEO friendly URLs for categories in the Site.

Issue #5: Unable to create invoice in admin after data migration

In scenarios, where you need to create invoices for some specific orders in Magento 2, the invoice creation process converts the temporary sales order into a permanent record which cannot be canceled. Normally, orders are invoiced and shipped after payment is received. However, if the method of payment is a purchase order, the order can be invoiced and shipped before payment is received. You can generate an invoice with a packing slip and print shipping labels from your carrier account. A single order can be divided into partial shipments which are invoiced separately, if necessary.

We came across a problem in Invoice functionality where admin wasn’t able to create invoice for Orders.

Solution: We found that the issue lies with the tables responsible for Invoice creation. Once we added the appropriate column to the table, it started working perfectly.

Issue #6: Unable to edit/update categories after migration Magento 1.9.x to 2.x

During Magento 1.x to Magento 2.0.7 migration, we faced an issue with Category attributes. Editing any category from Back-end was giving an exception: Undefined offset in ReadHandler.php on line 166.

Explored that the exception is coming because the values of custom category attribute are missing.

Solution: This issue can be fixed by two ways:

Create a custom module to override the ReadHandler.php Model class
Write a script which will assign values to appropriate category attribute

Issue #7: Unable to edit/update catalog products after data migration

After data migration from Magento 1.x to Magento 2.x, we were trying to edit or add a new product at the backend and received following error-

‘Class Magento\Catalog\Model\Product\Attribute\Backend\Media does not exist’

Realized that the error is coming because of Product Attribute media_gallary back-end resource model class is missing in Magento 2.

Solution: Developed script which fixes media_gallary attribute’s back-end resource type to make it work.

Issue #8: Customer admin grid in Magento back-end giving empty record after data migration

After data migration from Magento 1.x to Magento 2.x., customer admin grid in back-end was giving empty records. On checking at database, all customers’ data were migrated properly. Even after re-indexing customer flat table was not getting updated.

Figured out that the issue is appearing as some columns were missing from customer_entity table.

Solution: Wrote a script to update the customer_entity table and do re-indexing.

Issue #9: Unable to place an order from sub stores after data migration

After data migration from Magento 1.x to Magento 2.x, we were not able to place an order in sub-stores and create order invoices and shipments from backend.

The issue arose because the system is not able to generate order increment id to create the orders.

Solution: In Magento 2, there is a new concept to generate sales order sequence Id. We wrote a script to update the Magento 2 database and create new sequence tables for sub-stores.

Issue #10: Magento back-end user roles resource tree is not displaying after data migration

In Magento back-end, while we were trying to add a new user role, the role resource tree was not getting displayed in role resource tab.

Solution: Created a custom module to override the block (user_role) to fix this issue.

I am certain that you might have bumped into some of these challenges yourself. I would love to hear your experiences on this in the comments section. Also continuing on this subject I would be sharing more on theme & core challenges with Magento 2 next week, so do watch out for this space