Możemy w tym celu użyć wielu darmowych modułów. Jednak możemy też to wykonać bez instalowania dodatkowego oprogramowania po prostu poprzez odpowiednie zapytanie. Np. wywołane w PhpMyAdmin.
Przed wykonaniem tych modyfikacji najlepiej wykonać kopię bezpieczeństwa sklepu. Poprzez zakładkę:
Zaawansowane » Kopia zapasowa DB
Zawartość artykułu
Co potrzebujemy?
Znajdujemy ID naszego zamówienia. Jest to numer (cyfra) w pierwszej kolumnie na liście zamówień w zapleczu sklepu. W naszych komendach zamiast tej liczby wpiszemy „XXXXX”
Następnie logujemy się do PhpMyAdmin i wchodzimy w zakładkę SQL. Dane do zalogowania do tego programu znajdują się w pliku:
config/settings.inc.php
A link do PhpMyAdmin na naszym serwerze powinien dostarczyć provider lub administrator.
Komendy
Uruchamiamy serię komend:
DELETE a,b FROM ps_order_return AS a LEFT JOIN ps_order_return_detail AS b ON a.id_order_return = b.id_order_return WHERE id_order=XXXX; DELETE a,b FROM ps_order_slip AS a LEFT JOIN ps_order_slip_detail AS b ON a.id_order_slip = b.id_order_slip WHERE id_order=XXXX; DELETE FROM ps_order_history WHERE id_order=XXXX; DELETE FROM ps_order_detail WHERE id_order=XXXX; DELETE FROM ps_orders WHERE id_order=XXXX;
Usuwanie kilku zamówień jednocześnie
Usuwanie poprzez powyższe komendy dużej ilości zamówień może być dość kłopotliwe. Jeśli chcemy usunąć kilka zamówień (np. o numerach ID1, ID2, ID3) za jednym razem zamiast fragmentu kodu w powyższych komendach:
id_order=XXXX
Użyć należy:
id_order IN (ID1,ID2,ID3)
W wylistowaniu wszystkich potrzebnych ID (gdy jest ich np. kilkadziesiąt) może być pomocny np. arkusz kalkulacyjny. Możemy tam zamienić poszczególne komórki na oddzielone przecinkami liczby.
Usuwanie wszystkich zamówień
Chyba nie trzeba zaznaczać, że operacja (o ile nie ma kopii bezpieczeństwa bazy danych) jest nie odwracalna 🙂
DELETE a,b FROM ps_order_return AS a LEFT JOIN ps_order_return_detail AS b ON a.id_order_return = b.id_order_return WHERE id_order IN (SELECT id_order FROM `ps_orders`); DELETE a,b FROM ps_order_slip AS a LEFT JOIN ps_order_slip_detail AS b ON a.id_order_slip = b.id_order_slip WHERE id_order IN (SELECT id_order FROM `ps_orders`); DELETE FROM ps_order_history WHERE id_order IN (SELECT id_order FROM `ps_orders`); DELETE FROM ps_order_detail WHERE id_order IN (SELECT id_order FROM `ps_orders`); DELETE FROM ps_order_carrier WHERE id_order IN (SELECT id_order FROM `ps_orders`); DELETE FROM ps_order_cart_rule WHERE id_order IN (SELECT id_order FROM `ps_orders`); DELETE FROM ps_order_invoice WHERE id_order IN (SELECT id_order FROM `ps_orders`); TRUNCATE ps_order_invoice_payment; TRUNCATE ps_order_payment; TRUNCATE ps_order_detail_tax; TRUNCATE ps_orders;
Możemy też w tym celu posłużyć się modułem do kasowania testowych danych ze sklepu. Opisywaliśmy to w tym artykule:
Usunięcie testowych danych ze sklepu, wyczyszczenie sklepu z testowego asortymentu
[…] zamówienia (omawialiśmy już usuwanie testowych lub wybranych zamówień na naszym […]