Skip to content

Instantly share code, notes, and snippets.

@trueqap
Created August 26, 2024 13:14
Show Gist options
  • Save trueqap/7ebd14e4a3b6639d102a1349ae1b5a6b to your computer and use it in GitHub Desktop.
Save trueqap/7ebd14e4a3b6639d102a1349ae1b5a6b to your computer and use it in GitHub Desktop.
Régi WooCommerce rendelések törlése

Rendelések és kapcsolódó metaadatok törlése a WordPress adatbázisból

A következő SQL parancsok segítségével törölhetjük a WordPress adatbázisból az összes rendelést (shop_order post típus) és a hozzájuk tartozó metaadatokat. Ez a művelet különösen hasznos lehet, ha a High-Performance Order Storage (HPOS) bevezetése után szeretnénk megtisztítani a wp_posts és wp_postmeta táblákat a régi rendelésektől.

0. pont: Biztonsági mentés készítése

Mielőtt bármilyen adatbázis-módosítást végeznél, mindenképp készíts biztonsági mentést az adatbázisról. Ez biztosítja, hogy visszaállíthatod az adatokat, ha valami nem a tervek szerint alakul.

Rendelések és kapcsolódó metaadatok törlése a WordPress adatbázisból

A következő SQL parancsok segítségével törölhetjük a WordPress adatbázisból az összes rendelést (shop_order post típus) és a hozzájuk tartozó metaadatokat. Ez a művelet különösen hasznos lehet, ha a High-Performance Order Storage (HPOS) bevezetése után szeretnénk megtisztítani a wp_posts és wp_postmeta táblákat a régi rendelésektől.

1. Rendelések törlése a wp_posts táblából

DELETE FROM wp_posts
WHERE post_type = 'shop_order';

2. Kapcsolódó metaadatok törlése a wp_postmeta táblából

Először meg kell szerezni az összes post_id-t, amelyek a shop_order típusú bejegyzésekhez tartoznak, majd ezek alapján törölni a metaadatokat.

DELETE pm FROM wp_postmeta pm
INNER JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.post_type = 'shop_order';

Alternatív Megoldás: Egy lépésben törlés

Az alábbi kód egy lépésben törli mind a rendeléseket, mind a hozzájuk tartozó metaadatokat:

-- Törli a postmeta adatokat
DELETE pm FROM wp_postmeta pm
INNER JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.post_type = 'shop_order';

-- Törli a rendeléseket
DELETE FROM wp_posts
WHERE post_type = 'shop_order';

Fontos Megjegyzések:

  • Biztonsági mentés: Mindenképp készíts biztonsági mentést az adatbázisról a parancsok futtatása előtt.
  • Tesztelés: Először futtass egy SELECT parancsot, hogy lásd, mely sorokat fogja érinteni a törlés:
-- Rendelések ellenőrzése
SELECT * FROM wp_posts
WHERE post_type = 'shop_order';

-- Metaadatok ellenőrzése
SELECT pm.* FROM wp_postmeta pm
INNER JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.post_type = 'shop_order';
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment