Magento: удаление shipment-а через базу
В рамках дебага потребовалось мне удалять shipment из ордера, тк нужно было продебажить конкретный ордер. К сожалению, мадженто из коробки не позволяет это делать, поэтому я пошел путем удаления через базу, в этом посте описал список таблиц в которых нужна чистка..
Первым делом, делаем бэкап базы.
Для начала, нам нужно найти order_id, его можно посмотреть в админке, в урле ордера или через базу в таблице sales_order (sales_order.entity_id). Пусть это будет 608.
Следующим шагом ищем id шипмента (sales_shipment.entity_id), через админку или вот так
1 2 3 |
SELECT * FROM sales_shipment WHERE order_id=608 |
Пусть в ответ мы получим 48. Теперь удаляем записи по sales_shipment.entity_id
1 2 3 4 5 6 7 8 |
DELETE FROM sales_shipment_comment WHERE parent_id=48; DELETE FROM sales_shipment_track WHERE parent_id=48; DELETE FROM sales_shipment_item WHERE parent_id=48; DELETE FROM sales_shipment_grid WHERE entity_id=48; DELETE FROM sales_shipment WHERE entity_id=48; DELETE FROM inventory_shipment_source WHERE entity_id=48; |
Последним шагом, сбрасывает кол-во товаров которое было отправлено (без этого шага, кнопка Ship не появится в админке)
1 2 3 |
UPDATE sales_order_item SET qty_shipped=0 WHERE order_id=608 |
Не уверен, что это исчерпывающий список того, что нужно почистить, но для целей дебага, это нужный набор.
Если найдете другие таблицы, дайте знать в комментах.
Author: | Tags: /
| Rating:
Leave a Reply