MAGENTO MIGRATION OVERVIEW
Whether to conduct Magento Migration – migrate websites from Magento 1 to 2 – has become a hot controversy in recent years. While some people doubt about Magento 2 stability, others wholeheartedly in favor of migration due to its impressive new features and storefront designs. As a professional Magento agency who have more than 6-year experience on Magento, we are in the side of Magento 2 migration since it brings about better performance, more user-friendly checkout, enhanced security, more convenient admin interface, and so on for your store. Moreover, Magento 2 is has proved its stability over time through continuous updates and improvement, which might release the major fearfulness of many Magento store owners.
As you might know, there are 4 stages in the Magento 2 Migration process, namely Data migration, Extensions migration, Theme migration and Code migration.
- Data Migration: This is the process of transferring all of your product data, customer list, order date, configurations,… to the new Magento 2 site.
- Extensions Migration: Because of code conflicts, you cannot transfer extensions of Magento 1 to 2 but can find the extensions that have similar functions and for Magento 2 versions to install in the new store.
- Theme Migration: It’s rather complicated to migrate theme from Magento 1 to Magento 2, what you need to do is to create a Magento 2 design that have the same look with your Magento 1 design based on your PSD file.
- Code Migration: It’s fortunate that most of Magento 1 custom code is compatible with Magento 2 so you can either rewrite or migrate the code by using several Magento code migration tools.
7 STEPS TO CREATE A MAGENTO MIGRATION PLAN
1st step: Check the migration tool
- Make sure that the data migration tool has a network connection to Magento 1 & 2 databases
- Open ports in your firewall
- Disable Magento 2 cron jobs
- Configure and map files
2nd step: Inspect Your Magento old site
- Review the existing extensions and decide what to migrate to the new site
- Check whether these extensions has Magento 2 versions
- Define which database assets from these extensions to migrate
3rd step: Carefully make capacity plan
- Determine to design the new Magento 2 store with more hardware or more advanced topology with better caching tiers.
4th step: Set up and test Magento 2 site
- Set up Magento 2 system
- Enhance migration performance by cutting down network latency
- Replicate Magento 1 database to create redundancy in the event of unpredictable issues
5th step: Start Magento 2 Migration
- Cease all activities in Magento 1 admin (order management and shipping are excluded)
- Stop cron jobs of Magento 1
- Migrate settings and websites by utilizing the Magento migration tool
- Copy media assets from Magento 1 to 2
- Do bulk copy of database
- Reindex Magento 2 indexers
- Examine the new site
- 6th step: Deliver additional updates related to customers, inventory and orders
- 7th step: Scrutinize the new site and go live
- Start downtime and set Magento 1 site to maintenance mode
- Stop incremental updates
- Kick Magento 2 cron jobs off
- Reindex all Magento 2 indexers
- Conduct eventual verification
- Finish downtime by changing DNS and loading balancers
- Carry on activities in the admin
HOW MAGENTO MIGRATION WORKS
Both Magento 1 core tables and any custom tables that do not change between Magento 1 and Magento 2 are automatically migrated to Magento 2 with no action required.
- Extensions and custom code
- Media (product images, WYGIWYS editor, etc.)
- Layouts (XML in CMS category pages & Layout updates)
- Web services credentials (SOAP, XML-RPC, REST)
Notes: Don’t migrate Indexed data, Google shopping and Unsupported data in Magento 2 (poll, tag, staging module, etc.).
MAGENTO MIGRATION COMMON ISSUES
1. Source documents/ fields are not mapped
Source documents are not mapped:
Source fields are not mapped. Document:
In rare cases, the message might mention Destination documents or Destination fields instead of source ones.
Some Magento 1 entities (in most cases, coming from extensions) do not exist in the Magento 2 database.
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.
- Install the corresponding Magento 2 extensions from Magento Marketplace.
- 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.
- Configure the Tool to ignore the problematic data.
To ignore database entities, add the <ignore> tag to an entity in the map.xml file, like this:
<ignore> <field>sales_order_address_id</field> </ignore>
Before ignoring entities, make sure you do not need the affected data in your Magento 2 store.
2. Class does not exist but mentioned
does not exist but mentioned in:
A class from Magento 1 codebase could not be found in Magento 2 codebase during the EAV migration step. In most cases, the missing class belongs to an extension.
- Install the corresponding Magento 2 extension.
- Ignore the attribute that causes the issue.
- For this, add the attribute to the ignoregroup in the eav-attribute-groups.xml.dist
- Add class mapping using the class-map.xml.dist
3. Foreign key constraint fails
Error message text
; constraint fails.Orphan records id: <id_1>, <id_2> from <child_table>.<field_id> has no referenced records in <parent_table>
There are missing database records in the parent_table to which the field_id of the child_table is pointing to.
Delete the records from the child_table, if you do not need them.
To keep the records, disable the Data Integrity Step by modifying the Data Migration Tool’s config.xml.
4. Duplicates in URL rewrites
There are duplicates in URL rewrites:
Request path: towel.html Store ID: 2 Target paths: catalog/product/view/id/10
Request path: towel.html Store ID: 2 Target paths: catalog/product/view/id/12
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.
Enable the auto_resolve_urlrewrite_duplicates option in your config.xml file.
This configuration adds a hash-string to the conflicting records of URL rewrites, and shows the resolution result in your command line interface.
5. Mismatch of entities
Mismatch of entities in the document:
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.
Missing records happen when a customer places an order during migration.
Run the Data Migration Tool in Delta mode to transfer incremental changes.
MORE THINGS YOU MIGHT NEED TO KNOW
- Data migration is the most crucial stage in the Magento migration process. Even if you made even just a small mistake, you might have to pay a huge price such as losing a store or customer data.
- It takes from 2-5 working days to conduct data migration, which are based on the number of your products, orders and customers.
As you can see, the Magento Migration actually is the process of building a new Magento 2 store based on the previous website. It is obviously a strenuous work that requires significant time and effort. If your internal developers are not capable of conducting the migration, you should consider turning to a reliable agency for help. With more than 6-year experience on Magento and a dedicated team of Magento developers, Tigren is confident to bring you the best Magento 2 migration service with competitive pricing, minimum downtime and free data loss. To contact us, please send your request to email firstname.lastname@example.org or sending us a Contact form.