Answers:
在各种情况下,Magento不会为商店创建销售顺序表。这些是在其中创建订单增量ID,装运增量ID等的表。因此,尝试将增量ID分配给新订单时,结帐失败。表格示例:
sequence_creditmemo_1
sequence_invoice_1
sequence_order_1
sequence_rma_1
sequence_shipment_1
这是Magento CLI命令的模块,该模块将为给定商店创建缺少的销售顺序表:https : //github.com/joeshelton-wagento/fixsalessequence
当缺少多商店表时,会发生上述错误。问题背后的主要原因是,使用数据迁移工具未完成的任何第三方扩展来完成迁移。
注意:在进行任何更改之前,请备份数据库!
您会注意到,以下表格可能会丢失:
假设:如果商店3不能正常运行,那么商店1,商店2可以正常工作。
如果商店3无法正常工作,则需要创建以下表:
sequence_creditmemo_3 sequence_invoice_3 sequence_order_3 sequence_shipment_3
注意:您可以从其他现有表(例如sequence_creditmemo_1,sequence_invoice_1,sequence_order_1,sequence_shipment_1)获取这些表的结构
注意:需要更改表名称中的商店标识。
CREATE TABLE `sequence_creditmemo_3` (
`sequence_value` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `sequence_invoice_3` (
`sequence_value` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `sequence_order_3` (
`sequence_value` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
CREATE TABLE `sequence_shipment_3` (
`sequence_value` int(10) UNSIGNED NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `sequence_creditmemo_3`
ADD PRIMARY KEY (`sequence_value`);
ALTER TABLE `sequence_invoice_3`
ADD PRIMARY KEY (`sequence_value`);
ALTER TABLE `sequence_order_3`
ADD PRIMARY KEY (`sequence_value`);
ALTER TABLE `sequence_shipment_3`
ADD PRIMARY KEY (`sequence_value`);
ALTER TABLE `sequence_creditmemo_3`
MODIFY `sequence_value` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `sequence_invoice_3`
MODIFY `sequence_value` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `sequence_order_3`
MODIFY `sequence_value` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE `sequence_shipment_3`
MODIFY `sequence_value` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
需要使用相应的序列概要文件表条目来更新以下表:
sales_sequence_meta sales_sequence_profile
注意:需要在以下查询中更改商店ID。
INSERT INTO `sales_sequence_meta` (`meta_id`, `entity_type`, `store_id`, `sequence_table`) VALUES
(NULL, 'order', 3, 'sequence_order_3'),
(NULL, 'invoice', 3, 'sequence_invoice_3'),
(NULL, 'creditmemo', 3, 'sequence_creditmemo_3'),
(NULL, 'shipment', 3, 'sequence_shipment_3');
注意:将前缀更改为以下查询的商店标识。
INSERT INTO `sales_sequence_profile` (`profile_id`, `meta_id`, `prefix`, `suffix`, `start_value`, `step`, `max_value`, `warning_value`, `is_active`) VALUES
(NULL, 17, 3, NULL, 1, 1, 4294967295, 4294966295, 1),
(NULL, 18, 3, NULL, 1, 1, 4294967295, 4294966295, 1),
(NULL, 19, 3, NULL, 1, 1, 4294967295, 4294966295, 1),
(NULL, 20, 3, NULL, 1, 1, 4294967295, 4294966295, 1);
请应用以上解决方案,希望对您有所帮助。
注意:进行任何更改之前,请备份数据库!