[RESOURCES] While working on our data migration tool, it took our team pretty much of time to learn on what changes in Magento 2 database structure compared to Magento 1. We did make a list of significant changes in the database structure and use this for our internal development.
We think it would also be good to anyone new to magento 2, so we put it together into an infographic and share it here. Hope it can help somehow, especially for one who want to have a quick overview on the key changes in Magento 2 database structures.
PS. Please note the comparison is for quick reference rather than detailing every aspect of the database.
Thank you for sharing this. I am sure it will be useful to some.
Yes we hope so
PS. As Magento 2 evolves along the time, part of the database structure mentioned in our infographic might be subject to amendments. However, those highlighted in the current version is a good starting point for now.
The difference is that Magento 1 has 333 tables whereas Magento 2 has 309 tables.In magento 1 there is 131 attributes and in magento 2 there is 127 attributes.
Yes, when breaking that into specific groups like stores, store views; product attributes; products; customers etc., you can see the difference in more details.
You might be aware of the issue when migrating group price in Magento 1 to Magento 2 -
This issue happens as the ‘group price’ in Magento 1 has been changed to ‘tier price’ in Magento 2. So the comparison matrix indicates a clear issue that we need to figure it out a way to migrate and map the ‘group price’ to ‘tier price’, instead of ignoring this portion of data.
Just want to share a small situation as such, to see why the comparison M1 vs M2 has helped us.
For anyone who care about the changes in the latest Magento 2.1 vs. Magento 2.0.7 database.
Our initial finding: we see some changes in database structures of some tables in Magento 2.1, for instance:
eav_attribute, eav_attribute_group, eav_entity_attribute, catalog_category_product, catalogrule, catalogrule_product, customer_entity, sales_invoice_grid
And CONSTRAINT was removed from some tables in sales data structure like sales_bestsellers_aggregated_daily, sales_bestsellers_aggregated_monthly, sales_bestsellers_aggregated_yearly.
Hope this helps.
With Magento 2, everything is placed directly under the “app” structure, except for config.xml. It is easy for you to access all templates, layouts and js, css file. Magento 2 gives developers more opportunities for customization without changing site functionality.