This repository was archived by the owner on Nov 19, 2024. It is now read-only.
This repository was archived by the owner on Nov 19, 2024. It is now read-only.
Split database doc is out of date and missing some critical information #1763
Closed
Description
Feedback on page: /guides/v2.2/config-guide/multi-master/multi-master_manual.html
- The foreign keys are outdated.
- Missing signifyd_case db table
- It's not obvious in the doc that you need to add more tables for each store for the sequence tables
- This doc should define some common code examples that need to consider using the correct db connection. For example, an UpgradeSchema class that needs to change a sales related table
- This doc should state that splitting the database means that tables across the databases can no longer be joined. Any custom code joining tables between these databases will have to be refactored.
These are the queries I ended up having to run to get this to work:
ALTER TABLE salesrule_coupon_aggregated_order DROP FOREIGN KEY SALESRULE_COUPON_AGGREGATED_ORDER_STORE_ID_STORE_STORE_ID;
ALTER TABLE salesrule_coupon_aggregated DROP FOREIGN KEY SALESRULE_COUPON_AGGREGATED_STORE_ID_STORE_STORE_ID;
ALTER TABLE salesrule_coupon_aggregated_updated DROP FOREIGN KEY SALESRULE_COUPON_AGGREGATED_UPDATED_STORE_ID_STORE_STORE_ID;
ALTER TABLE salesrule_coupon_usage DROP FOREIGN KEY SALESRULE_COUPON_USAGE_CUSTOMER_ID_CUSTOMER_ENTITY_ENTITY_ID;
ALTER TABLE salesrule_customer_group DROP FOREIGN KEY SALESRULE_CSTR_GROUP_CSTR_GROUP_ID_CSTR_GROUP_CSTR_GROUP_ID;
ALTER TABLE salesrule_customer DROP FOREIGN KEY SALESRULE_CUSTOMER_CUSTOMER_ID_CUSTOMER_ENTITY_ENTITY_ID;
ALTER TABLE salesrule_label DROP FOREIGN KEY SALESRULE_LABEL_STORE_ID_STORE_STORE_ID;
ALTER TABLE salesrule_product_attribute DROP FOREIGN KEY SALESRULE_PRD_ATTR_ATTR_ID_EAV_ATTR_ATTR_ID;
ALTER TABLE salesrule_product_attribute DROP FOREIGN KEY SALESRULE_PRD_ATTR_CSTR_GROUP_ID_CSTR_GROUP_CSTR_GROUP_ID;
ALTER TABLE salesrule_product_attribute DROP FOREIGN KEY SALESRULE_PRODUCT_ATTRIBUTE_WEBSITE_ID_STORE_WEBSITE_WEBSITE_ID;
ALTER TABLE salesrule_website DROP FOREIGN KEY SALESRULE_WEBSITE_WEBSITE_ID_STORE_WEBSITE_WEBSITE_ID;
ALTER TABLE sales_creditmemo DROP FOREIGN KEY SALES_CREDITMEMO_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_invoiced_aggregated_order DROP FOREIGN KEY SALES_INVOICED_AGGREGATED_ORDER_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_invoiced_aggregated DROP FOREIGN KEY SALES_INVOICED_AGGREGATED_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_invoice DROP FOREIGN KEY SALES_INVOICE_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_order_aggregated_created DROP FOREIGN KEY SALES_ORDER_AGGREGATED_CREATED_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_order_aggregated_updated DROP FOREIGN KEY SALES_ORDER_AGGREGATED_UPDATED_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_order DROP FOREIGN KEY SALES_ORDER_CUSTOMER_ID_CUSTOMER_ENTITY_ENTITY_ID;
ALTER TABLE sales_order_item DROP FOREIGN KEY SALES_ORDER_ITEM_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_order_status_label DROP FOREIGN KEY SALES_ORDER_STATUS_LABEL_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_order DROP FOREIGN KEY SALES_ORDER_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_refunded_aggregated_order DROP FOREIGN KEY SALES_REFUNDED_AGGREGATED_ORDER_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_refunded_aggregated DROP FOREIGN KEY SALES_REFUNDED_AGGREGATED_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_shipment DROP FOREIGN KEY SALES_SHIPMENT_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_shipping_aggregated_order DROP FOREIGN KEY SALES_SHIPPING_AGGREGATED_ORDER_STORE_ID_STORE_STORE_ID;
ALTER TABLE sales_shipping_aggregated DROP FOREIGN KEY SALES_SHIPPING_AGGREGATED_STORE_ID_STORE_STORE_ID;
ALTER TABLE downloadable_link_purchased_item DROP FOREIGN KEY DL_LNK_PURCHASED_ITEM_ORDER_ITEM_ID_SALES_ORDER_ITEM_ITEM_ID;
ALTER TABLE downloadable_link_purchased DROP FOREIGN KEY DOWNLOADABLE_LINK_PURCHASED_ORDER_ID_SALES_ORDER_ENTITY_ID;
ALTER TABLE paypal_billing_agreement_order DROP FOREIGN KEY PAYPAL_BILLING_AGREEMENT_ORDER_ORDER_ID_SALES_ORDER_ENTITY_ID;
mysqldump myproject sales_bestsellers_aggregated_daily sales_bestsellers_aggregated_monthly sales_bestsellers_aggregated_yearly sales_creditmemo sales_creditmemo_comment sales_creditmemo_grid sales_creditmemo_item sales_invoice sales_invoice_comment sales_invoice_grid sales_invoice_item sales_invoiced_aggregated sales_invoiced_aggregated_order sales_order sales_order_address sales_order_aggregated_created sales_order_aggregated_updated sales_order_grid sales_order_item sales_order_payment sales_order_status sales_order_status_history sales_order_status_label sales_order_status_state sales_order_tax sales_order_tax_item sales_payment_transaction sales_refunded_aggregated sales_refunded_aggregated_order sales_sequence_meta sales_sequence_profile sales_shipment sales_shipment_comment sales_shipment_grid sales_shipment_item sales_shipment_track sales_shipping_aggregated sales_shipping_aggregated_order signifyd_case > myproject_sales.sql
mysqldump myproject magento_sales_creditmemo_grid_archive magento_sales_invoice_grid_archive magento_sales_order_grid_archive magento_sales_shipment_grid_archive > myproject_salesarchive.sql
mysqldump myproject magento_customercustomattributes_sales_flat_order magento_customercustomattributes_sales_flat_order_address > myproject_customercustomattributes.sql
mysqldump myproject sequence_creditmemo_0 sequence_invoice_0 sequence_order_0 sequence_rma_item_0 sequence_shipment_0 sequence_creditmemo_1 sequence_invoice_1 sequence_order_1 sequence_rma_item_1 sequence_shipment_1 sequence_creditmemo_720 sequence_invoice_720 sequence_order_720 sequence_rma_item_720 sequence_shipment_720 sequence_creditmemo_721 sequence_invoice_721 sequence_order_721 sequence_rma_item_721 sequence_shipment_721 sequence_creditmemo_722 sequence_invoice_722 sequence_order_722 sequence_rma_item_722 sequence_shipment_722 sequence_creditmemo_723 sequence_invoice_723 sequence_order_723 sequence_rma_item_723 sequence_shipment_723 sequence_creditmemo_724 sequence_invoice_724 sequence_order_724 sequence_rma_item_724 sequence_shipment_724 sequence_creditmemo_725 sequence_invoice_725 sequence_order_725 sequence_rma_item_725 sequence_shipment_725 sequence_creditmemo_726 sequence_invoice_726 sequence_order_726 sequence_rma_item_726 sequence_shipment_726 sequence_creditmemo_727 sequence_invoice_727 sequence_order_727 sequence_rma_item_727 sequence_shipment_727 sequence_creditmemo_728 sequence_invoice_728 sequence_order_728 sequence_rma_item_728 sequence_shipment_728 sequence_creditmemo_729 sequence_invoice_729 sequence_order_729 sequence_rma_item_729 sequence_shipment_729 sequence_creditmemo_730 sequence_invoice_730 sequence_order_730 sequence_rma_item_730 sequence_shipment_730 sequence_creditmemo_731 sequence_invoice_731 sequence_order_731 sequence_rma_item_731 sequence_shipment_731 sequence_creditmemo_732 sequence_invoice_732 sequence_order_732 sequence_rma_item_732 sequence_shipment_732 > myproject_sequence.sql
# Drop and recreate db before running this
mysql -h magento2demo-production-sales.cqzdp88hcdco.us-east-1.rds.amazonaws.com myproject_sales < myproject_customercustomattributes.sql
mysql -h magento2demo-production-sales.cqzdp88hcdco.us-east-1.rds.amazonaws.com myproject_sales < myproject_sales.sql
mysql -h magento2demo-production-sales.cqzdp88hcdco.us-east-1.rds.amazonaws.com myproject_sales < myproject_salesarchive.sql
mysql -h magento2demo-production-sales.cqzdp88hcdco.us-east-1.rds.amazonaws.com myproject_sales < myproject_sequence.sql
## Quote
ALTER TABLE quote DROP FOREIGN KEY QUOTE_STORE_ID_STORE_STORE_ID;
ALTER TABLE quote_item DROP FOREIGN KEY QUOTE_ITEM_STORE_ID_STORE_STORE_ID;
# Drop and recreate db before running this
mysql -h magento2demo-production-quote.cqzdp88hcdco.us-east-1.rds.amazonaws.com myproject_quote < myproject_quote.sql
## Main
SET foreign_key_checks = 0;
DROP TABLE magento_customercustomattributes_sales_flat_quote;
DROP TABLE magento_customercustomattributes_sales_flat_quote_address;
DROP TABLE quote;
DROP TABLE quote_address;
DROP TABLE quote_address_item;
DROP TABLE quote_item;
DROP TABLE quote_item_option;
DROP TABLE quote_payment;
DROP TABLE quote_shipping_rate;
DROP TABLE quote_id_mask;
DROP TABLE sales_bestsellers_aggregated_daily;
DROP TABLE sales_bestsellers_aggregated_monthly;
DROP TABLE sales_bestsellers_aggregated_yearly;
DROP TABLE sales_creditmemo;
DROP TABLE sales_creditmemo_comment;
DROP TABLE sales_creditmemo_grid;
DROP TABLE sales_creditmemo_item;
DROP TABLE sales_invoice;
DROP TABLE sales_invoice_comment;
DROP TABLE sales_invoice_grid;
DROP TABLE sales_invoice_item;
DROP TABLE sales_invoiced_aggregated;
DROP TABLE sales_invoiced_aggregated_order;
DROP TABLE sales_order;
DROP TABLE sales_order_address;
DROP TABLE sales_order_aggregated_created;
DROP TABLE sales_order_aggregated_updated;
DROP TABLE sales_order_grid;
DROP TABLE sales_order_item;
DROP TABLE sales_order_payment;
DROP TABLE sales_order_status;
DROP TABLE sales_order_status_history;
DROP TABLE sales_order_status_label;
DROP TABLE sales_order_status_state;
DROP TABLE sales_order_tax;
DROP TABLE sales_order_tax_item;
DROP TABLE sales_payment_transaction;
DROP TABLE sales_refunded_aggregated;
DROP TABLE sales_refunded_aggregated_order;
DROP TABLE sales_sequence_meta;
DROP TABLE sales_sequence_profile;
DROP TABLE sales_shipment;
DROP TABLE sales_shipment_comment;
DROP TABLE sales_shipment_grid;
DROP TABLE sales_shipment_item;
DROP TABLE sales_shipment_track;
DROP TABLE sales_shipping_aggregated;
DROP TABLE sales_shipping_aggregated_order;
DROP TABLE magento_sales_creditmemo_grid_archive;
DROP TABLE magento_sales_invoice_grid_archive;
DROP TABLE magento_sales_order_grid_archive;
DROP TABLE magento_sales_shipment_grid_archive;
DROP TABLE magento_customercustomattributes_sales_flat_order;
DROP TABLE magento_customercustomattributes_sales_flat_order_address;
DROP TABLE sequence_creditmemo_0;
DROP TABLE sequence_invoice_0;
DROP TABLE sequence_order_0;
DROP TABLE sequence_rma_item_0;
DROP TABLE sequence_shipment_0;
DROP TABLE sequence_creditmemo_1;
DROP TABLE sequence_invoice_1;
DROP TABLE sequence_order_1;
DROP TABLE sequence_rma_item_1;
DROP TABLE sequence_shipment_1;
DROP TABLE sequence_creditmemo_720;
DROP TABLE sequence_invoice_720;
DROP TABLE sequence_order_720;
DROP TABLE sequence_rma_item_720;
DROP TABLE sequence_shipment_720;
DROP TABLE sequence_creditmemo_721;
DROP TABLE sequence_invoice_721;
DROP TABLE sequence_order_721;
DROP TABLE sequence_rma_item_721;
DROP TABLE sequence_shipment_721;
DROP TABLE sequence_creditmemo_722;
DROP TABLE sequence_invoice_722;
DROP TABLE sequence_order_722;
DROP TABLE sequence_rma_item_722;
DROP TABLE sequence_shipment_722;
DROP TABLE sequence_creditmemo_723;
DROP TABLE sequence_invoice_723;
DROP TABLE sequence_order_723;
DROP TABLE sequence_rma_item_723;
DROP TABLE sequence_shipment_723;
DROP TABLE sequence_creditmemo_724;
DROP TABLE sequence_invoice_724;
DROP TABLE sequence_order_724;
DROP TABLE sequence_rma_item_724;
DROP TABLE sequence_shipment_724;
DROP TABLE sequence_creditmemo_725;
DROP TABLE sequence_invoice_725;
DROP TABLE sequence_order_725;
DROP TABLE sequence_rma_item_725;
DROP TABLE sequence_shipment_725;
DROP TABLE sequence_creditmemo_726;
DROP TABLE sequence_invoice_726;
DROP TABLE sequence_order_726;
DROP TABLE sequence_rma_item_726;
DROP TABLE sequence_shipment_726;
DROP TABLE sequence_creditmemo_727;
DROP TABLE sequence_invoice_727;
DROP TABLE sequence_order_727;
DROP TABLE sequence_rma_item_727;
DROP TABLE sequence_shipment_727;
DROP TABLE sequence_creditmemo_728;
DROP TABLE sequence_invoice_728;
DROP TABLE sequence_order_728;
DROP TABLE sequence_rma_item_728;
DROP TABLE sequence_shipment_728;
DROP TABLE sequence_creditmemo_729;
DROP TABLE sequence_invoice_729;
DROP TABLE sequence_order_729;
DROP TABLE sequence_rma_item_729;
DROP TABLE sequence_shipment_729;
DROP TABLE sequence_creditmemo_730;
DROP TABLE sequence_invoice_730;
DROP TABLE sequence_order_730;
DROP TABLE sequence_rma_item_730;
DROP TABLE sequence_shipment_730;
DROP TABLE sequence_creditmemo_731;
DROP TABLE sequence_invoice_731;
DROP TABLE sequence_order_731;
DROP TABLE sequence_rma_item_731;
DROP TABLE sequence_shipment_731;
DROP TABLE sequence_creditmemo_732;
DROP TABLE sequence_invoice_732;
DROP TABLE sequence_order_732;
DROP TABLE sequence_rma_item_732;
DROP TABLE sequence_shipment_732;
DROP TABLE signifyd_case;
SET foreign_key_checks = 1;```