Я получаю следующую ошибку при оформлении заказа с помощью кредитной / дебетовой карты в Magento:
Order saving error: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '282-189' for key 2
Я не смог получить точный след, поскольку он просто не хотел показывать, чтомне, однако, я проследил его обратно до app/code/core/Mage/Checkout/controllers/OnepageController.php
в строке 501
(неотредактировано).Точная строка:
$this->getOnepage()->saveOrder();
Теперь, логика подсказывает мне, что это всего лишь два ордера, имеющие одинаковый ключ при попытке добавить ордер, или я совершенно не прав?
В любом случае, таккроме этого, каков наилучший способ исправить это?Я думал об экспорте заказов, их удалении и повторном импорте, но я чувствую, что это не сработает.
Я использую Magento 1.6.2.0
РЕДАКТИРОВАТЬЯ только что понял, что если я выясню, какая таблица не проходит проверку целостности, я мог бы потенциально очистить эту таблицу (в зависимости от того, какая таблица это), и это исправило бы ее самостоятельно?Любые идеи о том, как выяснить, в какой таблице происходит сбой?
EDIT2: Таким образом, после ответа Огуза Челикдемира выясняется, что виновником является следующее:
2012-03-14T13:59:01+00:00 DEBUG (7): SQL: INSERT INTO `sales_order_tax_item` (`tax_id`, `item_id`, `tax_percent`) VALUES (?, ?, ?) (254, 8, 10)
2012-03-14T13:59:01+00:00 DEBUG (7): SQL: INSERT INTO `sales_order_tax_item` (`tax_id`, `item_id`, `tax_percent`) VALUES (?, ?, ?) (254, 8, 10)
Очевидно, что два одинаковыхtax_id не может быть вставлен.Кто-нибудь есть идеи, как это исправить?