SlideShare a Scribd company logo
The Ultimate Comparison
Magento 1 vs. Magento 2
Database Structure
1. The ‘core_website’ table was replaced with ‘store_website’ (The structure was
changed)
2. The ‘core_store’ table was replaced with ‘store’ (The structure was not changed)
3. The ‘core_store_group’ table was replaced with ‘store_group’ (The structure was
not changed)
1 - Websites, Stores, Store Views
1. A new field ‘is_required_in_admin_store’ was added to the ‘catalog_eav_attribute’
table
2. Two new fields ‘attribute_group_code’ & ‘tab_group_code’ were added to the
‘eav_attribute_group’ table
3. The product attribute ‘msrp_enabled’ was replaced with ‘msrp’. Magento 2 deleted
2 core attributes ‘group_price’, ‘msrp_enabled’ and the ‘group_price’ data was
converted to ‘tier_price’
4. The category attribute ‘thumbnail’ was deleted
2 - Core Product Attributes, Custom Product
Attributes
1. Structure of tables’ changes:
-- The ‘entity_type_id’ field was deleted
-- Some FOREIGN KEYs were changed
2. The ‘core_url_rewrite’ table was changed to ‘url_rewrite’ and structure was
changed.
3 - Categories
1. Have more than 44 related tables
2. The structure of tables was changed:
-- The enity_type_id field was deleted
-- Some FOREING KEYs were changed
3. Product Images: A new field ‘enity_id’ was added to the
‘catalog_product_entity_media_gallery_value’ table
4. The catalog_product_index_tier_price table changes:
-- The value_id, all_groups, qty, value fields were deleted
-- The min_price field was added
5. Stock:
+ The ‘website_id’ field was added to the ‘cataloginventory_stock’,
‘cataloginventory_stock_item’ tables
+ The ‘core_url_rewrite’ table was changed to ‘url_rewrite’ (structure was changed)
4 - Products
1. The ‘customer_entity’, ‘customer_address_entity ‘tables removed the
‘entity_type_id’, ‘attribute_set_id’ fields
2. The ‘customer_address_entity_datetime’, ‘customer_address_entity_decimal’,
‘customer_address_entity_int’, ‘customer_address_entity_text’,
‘customer_address_entity_varchar’, ‘customer_entity_datetime’,
‘customer_entity_decimal’, ‘customer_entity_int’, ‘customer_entity_text’,
‘customer_entity_varchar’ tables removed the ‘entity_type_id’ field
3. The ‘customer_eav_attribute’ table:
-- The ‘is_used_for_customer_segment’ field was deleted
-- Data model value was changed. For instance, the customer/attribute_data_postcode
was replaced with MagentoCustomerModelAttributeDataPostcode
5 - Customers
4. EAV of customer data structure was changed, some attributes were moved to the
main table:
-- Some new fields ‘created_in’, ‘firstname’, ‘middlename’, ‘lastname’, ‘password_hash’,
‘rp_token’, ‘rp_token_created_at’, ‘prefix’, ‘suffix’, ‘dob’, ‘default_billing’,
‘default_shipping’, ‘taxvat’, ‘confirmation’, ‘gender’ were added to the
‘customer_entity’ table
5. EAV of customer_address_entity data structure was changed, some attributes were
moved from the children tables to the main table `customer_address_entity`:
-- Country_id, firstname, lastname, middlename, street, telephone, city, fax, company,
country_id, postcode, prefix, region, region_id, suffix, vat_id, vat_is_valid,
vat_request_date, vat_request_id, vat_request_success
5 - Customers (cont’)
6. Magento CE 2.x changed the method of hashing passwords from md5() to sha256().
Magento 2 still supports the option md5() providing that the string ‘:0’ must be
appended to the end of ‘password_hash’
Magento 2 also supports CLI command to upgrade all password_hash using md5() to
sha256(): php -f bin/magento customer:hash:upgrade
5 - Customers (cont’)
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
1. Sales Orders tables changes:
-- The ‘sales_flat_order table’ was replaced with ‘sales_order’ (the structure was
changed)
-- The ‘sales_flat_order_address’ was replaced with ‘sales_order_address’ (the
structure was changed)
-- The ‘sales_flat_order_grid’ was replaced with ‘sales_order_grid’
-- The ‘sales_flat_order_item’ was replaced with ‘sales_order_item’ (the structure was
changed)
-- The ‘sales_flat_order_status_history’ was replaced with ‘sales_order_status_history’
-- The ‘sales_order_status_state’ (the structure was changed)
-- The ‘sales_order_tax_item’ (the structure was changed)
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
2. Max length changes in the `sales_order` table:
+ ‘store_name’, ‘shipping_method’, ‘x_forwarded_for’ have new max length 32 chars.
+ ‘applied_rule_ids has new max length chars 128
+ ‘weight’ has new max length 12
3. The `sales_order_item` table changes:
+ Magento 2 changed the method to save value of the `weee_tax_applied` field to
database: serialize() -> json_encode()
+ ‘weight’, ‘row_weight’ have new max length value 12 chars
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
4. Sales Quote:
-- The ‘sales_flat_quote’ was replaced with ‘quote’ (the structure was changed)
-- ‘sales_flat_quote_address’ was replaced with ‘quote_address’ (the structure was
changed)
-- ‘sales_flat_quote_address_item’ was replaced with ‘quote_address_item’ (the
structure was changed)
-- ‘sales_flat_quote_item’ was replaced with ‘quote_item’ (the structure was changed)
-- ‘sales_flat_quote_item_option’ was replaced with ‘quote_item_option’
-- ‘sales_flat_quote_payment’ was replaced with ‘quote_payment’ (the structure was
changed)
-- ‘sales_flat_quote_shipping_rate’ was replaced with ‘quote_shipping_rate’
-- In the `quote_address ` table:
+ ‘region’, ‘shipping_method’, ‘city’ have new max length 40 chars
+ ‘firstname’, ‘lastname’, ‘postcode’, ‘telephone’, ‘fax’ have new max length 20 chars
+ ‘country_id’ has new max length 30 chars
+ ‘weight’ has new max length 12 chars
+ ‘address_type’ has new max length 10 chars
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
5. Sales Payments:
-- ‘sales_flat_order_payment’ was replaced with ‘sales_order_payment’ (the structure
was changed)
-- The `sales_order_payment` table has some fields ‘po_number’, ‘cc_number_enc’
with max length 32 chars
6. Sales Invoices:
-- ‘sales_flat_invoice’ was replaced with ‘sales_invoice’ (the structure was changed)
-- ‘sales_flat_invoice_comment’ was replaced with ‘sales_invoice_comment’
-- ‘sales_flat_invoice_grid’ was replaced with ‘sales_invoice_grid’ (the structure was
changed)
-- ‘sales_flat_invoice_item’ was replaced with ‘sales_invoice_item’ (the structure was
changed)
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
7. Sales Shipments
-- ‘sales_flat_shipment’ was replaced with ‘sales_shipment’
-- ‘sales_flat_shipment_comment’ was replaced with ‘sales_shipment_comment’
-- ‘sales_flat_shipment_grid’ was replaced with ‘sales_shipment_grid’ (the structure
was changed)
-- ‘sales_flat_shipment_item’ was replaced with ‘sales_shipment_item’
-- ‘sales_flat_shipment_track’ was replaced with ‘sales_shipment_track’
8. In the `sales_invoice_item` table, Magento 2 changed the method to save value of
the `weee_tax_applied` field to database: serialize() -> json_encode() function.
9. In the `sales_shipment_item` table, the `weight` field has max length 12 chars
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
10. Sales Credit Memo: Name of tables was changed (the string “_flat” was deleted)
-- The `sales_creditmemo_grid` table: some new fields and value are required in
Magento 2 like ‘updated_at’, ‘customer_name’
-- In the `sales_creditmemo_item` table, Magento 2 changed the method to save the
value of `weee_tax_applied` field to database: serialize() -> json_encode() function.
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
11. Sales Rules: Sales Rules Models Class Name changes:
-- The ‘salesrule/rule_condition_product_found’ was replaced with
‘MagentoSalesRuleModelRuleConditionProductFound’
-- The ‘salesrule/rule_condition_product_subselect’ was replaced with
‘MagentoSalesRuleModelRuleConditionProductSubselect’
-- The ‘salesrule/rule_condition_product_combine’ was replaced with
‘MagentoSalesRuleModelRuleConditionProductCombine’
-- The ‘salesrule/rule_condition_product’ was replaced with
‘MagentoSalesRuleModelRuleConditionProduct’
-- The ‘salesrule/rule_condition_combine’ was replaced with
‘MagentoSalesRuleModelRuleConditionCombine’
-- The ‘salesrule/rule_condition_address’ was replaced with
‘MagentoSalesRuleModelRuleConditionAddress’
6 - (Sale) Orders, Quote, Invoices, Payments,
Shipments, Bestseller info, Rules & Coupons
12. Magento 2 added new tables for sales data ‘sales_sequence_meta’ and
‘sequece_tables’ (default table in a clean Magento installation). Magento 2 will
automatically generate ‘Sequence_tables’ related to ‘sales_sequence_meta’ (for
instance: “sequence_invoice_0, sequence_order_0…)
7 - Catalog Rules
Catalog Rule Model Class Name changes:
-- The ‘catalogrule/rule_condition_combine’ was replaced with
‘MagentoCatalogRuleModelRuleConditionCombine’
-- The ‘catalogrule/rule_condition_product’ was replaced with
‘MagentoCatalogRuleModelRuleConditionProduct’
-- The ‘catalogrule/rule_action_collection’ was replaced with
‘MagentoCatalogRuleModelRuleActionCollection’
View graphic in full size:
[Infographic] Magento 1 vs Magento 2
Database Structure
https://www.ubertheme.com/magento2/infographic-magento-1-vs-magento-2-
database-structure/
8 - RESOURCES
1. UB Data Migration Pro tool for Magento 2:
https://www.ubertheme.com/magento-news/magento-2-data-migration-pro-
release/
2. Tutorial Video - Migrate Magento 1 to Magento 2:
https://youtu.be/Jvr8d3OeB8M
You might be interested in our new Magento 2 releases.
For more details, head over to www.ubertheme.com
or reach us via info (at) ubertheme.com

More Related Content

Similar to Magento 1 vs Magento 2 Database Structure

Liquibase migration for data bases
Liquibase migration for data basesLiquibase migration for data bases
Liquibase migration for data bases
Roman Uholnikov
 
has_many_and_belongs_to_many
has_many_and_belongs_to_manyhas_many_and_belongs_to_many
has_many_and_belongs_to_manytutorialsruby
 
has_many_and_belongs_to_many
has_many_and_belongs_to_manyhas_many_and_belongs_to_many
has_many_and_belongs_to_manytutorialsruby
 
How to – data integrity checks in batch processing
How to – data integrity checks in batch processingHow to – data integrity checks in batch processing
How to – data integrity checks in batch processing
Son Nguyen
 
Graph db as metastore
Graph db as metastoreGraph db as metastore
Graph db as metastore
Haris Khan
 
https://uii.io/ref/hmaadi
https://uii.io/ref/hmaadihttps://uii.io/ref/hmaadi
https://uii.io/ref/hmaadi
hmaadi96
 
SetFocus SQL Portfolio
SetFocus SQL PortfolioSetFocus SQL Portfolio
SetFocus SQL Portfoliogeometro17
 
Agados-based Application Design Demo
Agados-based Application Design Demo Agados-based Application Design Demo
Agados-based Application Design Demo
Yongkyoo Park
 
Working with WooCommerce Custom Fields
Working with WooCommerce Custom FieldsWorking with WooCommerce Custom Fields
Working with WooCommerce Custom Fields
Anthony Hortin
 
SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...
SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...
SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...
Sencha
 
Using the Features API
Using the Features APIUsing the Features API
Using the Features API
cgmonroe
 
Optimization in django orm
Optimization in django ormOptimization in django orm
Optimization in django orm
Denys Levchenko
 
Oracle Data Redaction
Oracle Data RedactionOracle Data Redaction
Oracle Data Redaction
Ivica Arsov
 
Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...
Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...
Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...MagentoImagine
 
Magento Imagine eCommerce Conference 2011: Using Magento's Import Module
Magento Imagine eCommerce Conference 2011: Using Magento's Import ModuleMagento Imagine eCommerce Conference 2011: Using Magento's Import Module
Magento Imagine eCommerce Conference 2011: Using Magento's Import Modulevarien
 
AWS Amazon Quantum Ledger Database (QLDB)
AWS Amazon Quantum Ledger Database (QLDB)AWS Amazon Quantum Ledger Database (QLDB)
AWS Amazon Quantum Ledger Database (QLDB)
Subramanyam Vemala
 
Adding Value to HBase with IBM InfoSphere BigInsights and BigSQL
Adding Value to HBase with IBM InfoSphere BigInsights and BigSQLAdding Value to HBase with IBM InfoSphere BigInsights and BigSQL
Adding Value to HBase with IBM InfoSphere BigInsights and BigSQL
Piotr Pruski
 
Effective capture of metadata using ca e rwin data modeler 09232010
Effective capture of metadata using ca e rwin data modeler 09232010Effective capture of metadata using ca e rwin data modeler 09232010
Effective capture of metadata using ca e rwin data modeler 09232010ERwin Modeling
 
Microsoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumpsMicrosoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumps
lilylucy
 

Similar to Magento 1 vs Magento 2 Database Structure (20)

Liquibase migration for data bases
Liquibase migration for data basesLiquibase migration for data bases
Liquibase migration for data bases
 
has_many_and_belongs_to_many
has_many_and_belongs_to_manyhas_many_and_belongs_to_many
has_many_and_belongs_to_many
 
has_many_and_belongs_to_many
has_many_and_belongs_to_manyhas_many_and_belongs_to_many
has_many_and_belongs_to_many
 
How to – data integrity checks in batch processing
How to – data integrity checks in batch processingHow to – data integrity checks in batch processing
How to – data integrity checks in batch processing
 
Graph db as metastore
Graph db as metastoreGraph db as metastore
Graph db as metastore
 
https://uii.io/ref/hmaadi
https://uii.io/ref/hmaadihttps://uii.io/ref/hmaadi
https://uii.io/ref/hmaadi
 
SetFocus SQL Portfolio
SetFocus SQL PortfolioSetFocus SQL Portfolio
SetFocus SQL Portfolio
 
Agados-based Application Design Demo
Agados-based Application Design Demo Agados-based Application Design Demo
Agados-based Application Design Demo
 
Working with WooCommerce Custom Fields
Working with WooCommerce Custom FieldsWorking with WooCommerce Custom Fields
Working with WooCommerce Custom Fields
 
SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...
SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...
SenchaCon 2016: Upgrading an Ext JS 4.x Application to Ext JS 6.x - Mark Linc...
 
Using the Features API
Using the Features APIUsing the Features API
Using the Features API
 
Optimization in django orm
Optimization in django ormOptimization in django orm
Optimization in django orm
 
Oracle Data Redaction
Oracle Data RedactionOracle Data Redaction
Oracle Data Redaction
 
Banking Database
Banking DatabaseBanking Database
Banking Database
 
Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...
Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...
Magento's Imagine eCommerce Conference 2011 - Import Export in a Flash with t...
 
Magento Imagine eCommerce Conference 2011: Using Magento's Import Module
Magento Imagine eCommerce Conference 2011: Using Magento's Import ModuleMagento Imagine eCommerce Conference 2011: Using Magento's Import Module
Magento Imagine eCommerce Conference 2011: Using Magento's Import Module
 
AWS Amazon Quantum Ledger Database (QLDB)
AWS Amazon Quantum Ledger Database (QLDB)AWS Amazon Quantum Ledger Database (QLDB)
AWS Amazon Quantum Ledger Database (QLDB)
 
Adding Value to HBase with IBM InfoSphere BigInsights and BigSQL
Adding Value to HBase with IBM InfoSphere BigInsights and BigSQLAdding Value to HBase with IBM InfoSphere BigInsights and BigSQL
Adding Value to HBase with IBM InfoSphere BigInsights and BigSQL
 
Effective capture of metadata using ca e rwin data modeler 09232010
Effective capture of metadata using ca e rwin data modeler 09232010Effective capture of metadata using ca e rwin data modeler 09232010
Effective capture of metadata using ca e rwin data modeler 09232010
 
Microsoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumpsMicrosoft MCSE 70-467 it exams dumps
Microsoft MCSE 70-467 it exams dumps
 

Recently uploaded

Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 

Recently uploaded (20)

Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 

Magento 1 vs Magento 2 Database Structure

  • 1.
  • 2. The Ultimate Comparison Magento 1 vs. Magento 2 Database Structure
  • 3. 1. The ‘core_website’ table was replaced with ‘store_website’ (The structure was changed) 2. The ‘core_store’ table was replaced with ‘store’ (The structure was not changed) 3. The ‘core_store_group’ table was replaced with ‘store_group’ (The structure was not changed) 1 - Websites, Stores, Store Views
  • 4. 1. A new field ‘is_required_in_admin_store’ was added to the ‘catalog_eav_attribute’ table 2. Two new fields ‘attribute_group_code’ & ‘tab_group_code’ were added to the ‘eav_attribute_group’ table 3. The product attribute ‘msrp_enabled’ was replaced with ‘msrp’. Magento 2 deleted 2 core attributes ‘group_price’, ‘msrp_enabled’ and the ‘group_price’ data was converted to ‘tier_price’ 4. The category attribute ‘thumbnail’ was deleted 2 - Core Product Attributes, Custom Product Attributes
  • 5. 1. Structure of tables’ changes: -- The ‘entity_type_id’ field was deleted -- Some FOREIGN KEYs were changed 2. The ‘core_url_rewrite’ table was changed to ‘url_rewrite’ and structure was changed. 3 - Categories
  • 6. 1. Have more than 44 related tables 2. The structure of tables was changed: -- The enity_type_id field was deleted -- Some FOREING KEYs were changed 3. Product Images: A new field ‘enity_id’ was added to the ‘catalog_product_entity_media_gallery_value’ table 4. The catalog_product_index_tier_price table changes: -- The value_id, all_groups, qty, value fields were deleted -- The min_price field was added 5. Stock: + The ‘website_id’ field was added to the ‘cataloginventory_stock’, ‘cataloginventory_stock_item’ tables + The ‘core_url_rewrite’ table was changed to ‘url_rewrite’ (structure was changed) 4 - Products
  • 7. 1. The ‘customer_entity’, ‘customer_address_entity ‘tables removed the ‘entity_type_id’, ‘attribute_set_id’ fields 2. The ‘customer_address_entity_datetime’, ‘customer_address_entity_decimal’, ‘customer_address_entity_int’, ‘customer_address_entity_text’, ‘customer_address_entity_varchar’, ‘customer_entity_datetime’, ‘customer_entity_decimal’, ‘customer_entity_int’, ‘customer_entity_text’, ‘customer_entity_varchar’ tables removed the ‘entity_type_id’ field 3. The ‘customer_eav_attribute’ table: -- The ‘is_used_for_customer_segment’ field was deleted -- Data model value was changed. For instance, the customer/attribute_data_postcode was replaced with MagentoCustomerModelAttributeDataPostcode 5 - Customers
  • 8. 4. EAV of customer data structure was changed, some attributes were moved to the main table: -- Some new fields ‘created_in’, ‘firstname’, ‘middlename’, ‘lastname’, ‘password_hash’, ‘rp_token’, ‘rp_token_created_at’, ‘prefix’, ‘suffix’, ‘dob’, ‘default_billing’, ‘default_shipping’, ‘taxvat’, ‘confirmation’, ‘gender’ were added to the ‘customer_entity’ table 5. EAV of customer_address_entity data structure was changed, some attributes were moved from the children tables to the main table `customer_address_entity`: -- Country_id, firstname, lastname, middlename, street, telephone, city, fax, company, country_id, postcode, prefix, region, region_id, suffix, vat_id, vat_is_valid, vat_request_date, vat_request_id, vat_request_success 5 - Customers (cont’)
  • 9. 6. Magento CE 2.x changed the method of hashing passwords from md5() to sha256(). Magento 2 still supports the option md5() providing that the string ‘:0’ must be appended to the end of ‘password_hash’ Magento 2 also supports CLI command to upgrade all password_hash using md5() to sha256(): php -f bin/magento customer:hash:upgrade 5 - Customers (cont’)
  • 10. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 1. Sales Orders tables changes: -- The ‘sales_flat_order table’ was replaced with ‘sales_order’ (the structure was changed) -- The ‘sales_flat_order_address’ was replaced with ‘sales_order_address’ (the structure was changed) -- The ‘sales_flat_order_grid’ was replaced with ‘sales_order_grid’ -- The ‘sales_flat_order_item’ was replaced with ‘sales_order_item’ (the structure was changed) -- The ‘sales_flat_order_status_history’ was replaced with ‘sales_order_status_history’ -- The ‘sales_order_status_state’ (the structure was changed) -- The ‘sales_order_tax_item’ (the structure was changed)
  • 11. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 2. Max length changes in the `sales_order` table: + ‘store_name’, ‘shipping_method’, ‘x_forwarded_for’ have new max length 32 chars. + ‘applied_rule_ids has new max length chars 128 + ‘weight’ has new max length 12 3. The `sales_order_item` table changes: + Magento 2 changed the method to save value of the `weee_tax_applied` field to database: serialize() -> json_encode() + ‘weight’, ‘row_weight’ have new max length value 12 chars
  • 12. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 4. Sales Quote: -- The ‘sales_flat_quote’ was replaced with ‘quote’ (the structure was changed) -- ‘sales_flat_quote_address’ was replaced with ‘quote_address’ (the structure was changed) -- ‘sales_flat_quote_address_item’ was replaced with ‘quote_address_item’ (the structure was changed) -- ‘sales_flat_quote_item’ was replaced with ‘quote_item’ (the structure was changed) -- ‘sales_flat_quote_item_option’ was replaced with ‘quote_item_option’ -- ‘sales_flat_quote_payment’ was replaced with ‘quote_payment’ (the structure was changed) -- ‘sales_flat_quote_shipping_rate’ was replaced with ‘quote_shipping_rate’ -- In the `quote_address ` table: + ‘region’, ‘shipping_method’, ‘city’ have new max length 40 chars + ‘firstname’, ‘lastname’, ‘postcode’, ‘telephone’, ‘fax’ have new max length 20 chars + ‘country_id’ has new max length 30 chars + ‘weight’ has new max length 12 chars + ‘address_type’ has new max length 10 chars
  • 13. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 5. Sales Payments: -- ‘sales_flat_order_payment’ was replaced with ‘sales_order_payment’ (the structure was changed) -- The `sales_order_payment` table has some fields ‘po_number’, ‘cc_number_enc’ with max length 32 chars 6. Sales Invoices: -- ‘sales_flat_invoice’ was replaced with ‘sales_invoice’ (the structure was changed) -- ‘sales_flat_invoice_comment’ was replaced with ‘sales_invoice_comment’ -- ‘sales_flat_invoice_grid’ was replaced with ‘sales_invoice_grid’ (the structure was changed) -- ‘sales_flat_invoice_item’ was replaced with ‘sales_invoice_item’ (the structure was changed)
  • 14. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 7. Sales Shipments -- ‘sales_flat_shipment’ was replaced with ‘sales_shipment’ -- ‘sales_flat_shipment_comment’ was replaced with ‘sales_shipment_comment’ -- ‘sales_flat_shipment_grid’ was replaced with ‘sales_shipment_grid’ (the structure was changed) -- ‘sales_flat_shipment_item’ was replaced with ‘sales_shipment_item’ -- ‘sales_flat_shipment_track’ was replaced with ‘sales_shipment_track’ 8. In the `sales_invoice_item` table, Magento 2 changed the method to save value of the `weee_tax_applied` field to database: serialize() -> json_encode() function. 9. In the `sales_shipment_item` table, the `weight` field has max length 12 chars
  • 15. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 10. Sales Credit Memo: Name of tables was changed (the string “_flat” was deleted) -- The `sales_creditmemo_grid` table: some new fields and value are required in Magento 2 like ‘updated_at’, ‘customer_name’ -- In the `sales_creditmemo_item` table, Magento 2 changed the method to save the value of `weee_tax_applied` field to database: serialize() -> json_encode() function.
  • 16. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 11. Sales Rules: Sales Rules Models Class Name changes: -- The ‘salesrule/rule_condition_product_found’ was replaced with ‘MagentoSalesRuleModelRuleConditionProductFound’ -- The ‘salesrule/rule_condition_product_subselect’ was replaced with ‘MagentoSalesRuleModelRuleConditionProductSubselect’ -- The ‘salesrule/rule_condition_product_combine’ was replaced with ‘MagentoSalesRuleModelRuleConditionProductCombine’ -- The ‘salesrule/rule_condition_product’ was replaced with ‘MagentoSalesRuleModelRuleConditionProduct’ -- The ‘salesrule/rule_condition_combine’ was replaced with ‘MagentoSalesRuleModelRuleConditionCombine’ -- The ‘salesrule/rule_condition_address’ was replaced with ‘MagentoSalesRuleModelRuleConditionAddress’
  • 17. 6 - (Sale) Orders, Quote, Invoices, Payments, Shipments, Bestseller info, Rules & Coupons 12. Magento 2 added new tables for sales data ‘sales_sequence_meta’ and ‘sequece_tables’ (default table in a clean Magento installation). Magento 2 will automatically generate ‘Sequence_tables’ related to ‘sales_sequence_meta’ (for instance: “sequence_invoice_0, sequence_order_0…)
  • 18. 7 - Catalog Rules Catalog Rule Model Class Name changes: -- The ‘catalogrule/rule_condition_combine’ was replaced with ‘MagentoCatalogRuleModelRuleConditionCombine’ -- The ‘catalogrule/rule_condition_product’ was replaced with ‘MagentoCatalogRuleModelRuleConditionProduct’ -- The ‘catalogrule/rule_action_collection’ was replaced with ‘MagentoCatalogRuleModelRuleActionCollection’
  • 19. View graphic in full size: [Infographic] Magento 1 vs Magento 2 Database Structure https://www.ubertheme.com/magento2/infographic-magento-1-vs-magento-2- database-structure/
  • 20. 8 - RESOURCES 1. UB Data Migration Pro tool for Magento 2: https://www.ubertheme.com/magento-news/magento-2-data-migration-pro- release/ 2. Tutorial Video - Migrate Magento 1 to Magento 2: https://youtu.be/Jvr8d3OeB8M
  • 21. You might be interested in our new Magento 2 releases. For more details, head over to www.ubertheme.com or reach us via info (at) ubertheme.com