Struktura WooCommerce databáze

Nedávno byl na blogu aktualizován článek o struktuře WordPressu, kterým by bylo vhodné nejprve začít, abychom se nejdříve dokázali orientovat v samotném WordPressu.

Dnes si ukážeme přehled o struktuře WooCommerce databáze, který může komukoliv pracujícím s Woo přijít vhod. Pro ostatní může posloužit alespoň k pochopení základních operací v databázi.

Zjednodušený diagram WooCommerce databáze s aktivním HPOS.

Jak získat přístup k WooCommerce databázi?

Budeme potřebovat přístup k phpMyAdmin, který většinou najdeme v nastavení našeho webhostingu. Levnější hostitelé často používají cPanel. Pro provádění pokročilých SQL dotazů bude potřeba WP-CLI(nástroj pro příkazový řádek).

Tabulky spojené s produkty a objednávky

Při manipulaci s daty tabulek může být zprvu obtížné se v nich orientovat. Mezi nejčastěji používané tabulky v tomto ohledu patří woocommerce_order_items a woocommerce_order_itemmeta, kterým se nejspíše nevyhneme. Při manipulaci s produkty a objednávky bohužel nejsou jediné, které tato data obsahují.

Ve kterých tabulkách najdeme data o produktech?

Pokud v tabulkách posts a postmeta nenajdeme žádné produkty, nejspíše budeme mít povolené HPOS v nastavení WooCommerce(WooCommerce > Nastavení > Pokročilé > Vlastnosti).

HPOS již není závislé na tabulce _posts, a přináší zcela nové a optimalizovanější tabulky.

  • wc_product_meta_lookup
  • wc_order_product_lookup
  • posts
  • postmeta

V případě aktivního HPOS již produkty nejsou závislé na tabulkách posts a postmeta. Nově je nahrazují následující tabulky:

  • _wc_orders
  • _wc_order_addresses
  • _wc_order_operational_data
  • _wc_orders_meta

Ve kterých tabulkách najdeme data o objednávkách?

  • woocommerce_order_items
  • woocommerce_order_itemmeta
  • posts
  • postmeta
  • comments

Souhrn všech WooCommerce tabulek:

Následující tabulky jsou automaticky vytvořeny po aktivaci pluginu WooCommerce. U tabulek se ještě bude objevovat prefix, který jsme nastavili při tvorbě databáze(defaultně bývá předpona „wp“, kterou bych z hlediska bezpečnosti nedoporučoval).

V souvislosti s WooCommerce přijdou začátkem června nové změny, které zcela odstraní zastaralý „Legacy REST API“! Více se dozvíte zde.

Detaily jednotlivých tabulek

Tabulka: actionscheduler_actions

  • action_id – ID
  • hook – název akce nebo události
  • status – stav akce(například „pending“)
  • scheduled_date_gmt – plánované datum a čas akce ve světovém čase
  • scheduled_date_local – plánované datum a čas akce v mísítním čase
  • args – argumenty, nebo data spojená s akcí, která bude provedena
  • schedule – frekvence, s jakou je akce plánována (např. „once“ – jednou, „hourly“ – každou hodinu, atd.)
  • group_id – ID skupiny
  • attemps – počet pokusů o provedení akce
  • last_attempt_gmt – datum a čas posledního pokusu o provedení akce ve světovém čase
  • last_attempt_local – datum a čas posledního pokusu o provedení akce v místním čase
  • claim_id
  • extended_args – rozšíření argumentů a dalších dat spojených s akcí

Tabulka: actionscheduler_claims

  • claim_id – ID
  • date_created_gmt – datum a čas vytvoření nároku ve světovém čase

Tabulka: actionscheduler_groups

  • group_id – ID
  • slug

Tabulka: actionscheduler_logs

  • log_id – ID
  • action_id – ID akce
  • message – popis události
  • log_date_gmt – datum a čas vytvoření záznamu v logu ve světovém čase
  • log_date_local – datum a čas vytvoření záznamu v logu v místním čase

Tabulka: woocommerce_sessions

  • session_id – ID
  • session_key – klíč, který slouží k identifikaci uživatelské relace
  • session_value – určitá hodnota spojena s danou relací
  • session_expiry – datum a čas, kdy relace vyprší a bude považována za neplatnou

Tabulka: woocommerce_api_keys

  • key_id – unikátní identifikátor každého API klíče
  • user_id – identifikátor uživatele, který daný API klíč vytvořil
  • description – popis API klíče
  • permission – oprávnění nebo práva spojená s API klíčem
  • consumer_key – unikátní identifikátor spotřebitele souvisejícího s API klíčem
  • consumer_secret – tajný klíč, který spolu s consumer_key slouží k ověření identity spotřebitele
  • nonces – je náhodný číselný řetězec, který se používá k prevenci opakovaného použití stejné žádosti
  • truncated_key – zkrácený podoba klíče pro zobrazení
  • last_access – datum a čas posledního přístupu, nebo použití API klíče

Tabulka: woocommerce_attribute_taxonomies

  • attribute_id – ID
  • attribute_name – název atributu
  • attribute_label – popisek atributu
  • attribute_type – typ atributu
  • attribute_orderby – způsob řazení produktů podle tohoto atributu
  • attribute_public – určuje, zda je daňový atribut veřejně viditelný

Tabulka: woocommerce_downloadable_product_permissions

  • permission_id – ID každého oprávnění ke stažení
  • download_id – ID stažitelného produktu, ke kterému je toto oprávnění přiřazeno
  • product_id – ID produktu, ke kterému se toto oprávnění vztahuje
  • order_id – ID objednávky, ve které byl stažitelný produkt zakoupen
  • order_key – unikátní klíč objednávky
  • user_email – e-mailová adresa uživatele, který má oprávnění ke stažení
  • user_id – identifikátor uživatele, ke kterému je oprávnění ke stažení přiřazeno
  • downloads_remaining – počet zbývajících stahování povolených tímto oprávněním
  • access_granted – datum a čas, kdy bylo oprávnění ke stažení uděleno
  • access_expires – datum a čas, kdy oprávnění ke stažení vyprší a již nebude platné
  • download_count – celkový počet stahování provedených pomocí tohoto oprávnění

Tabulka: woocommerce_order_items

  • order_item_id – ID objednávky
  • order_item_name – název položky objednávky
  • order_item_type – Typ položky objednávky, který může označovat, zda se jedná o produkt, službu, slevu atd.
  • order_id – ID objednávky, ke které položka náleží

Tabulka: woocommerce_order_itemmeta

  • meta_id – ID záznamu v metadatech
  • order_item_id – ID položky objednávky
  • meta_key – Klíč metadat
  • meta_value – hodnota metadata, obsahující samotnou informaci

Tabulka: woocommerce_tax_rates

  • tax_rate_id – ID každé daňové sazby
  • tax_rate_country – země, na kterou se daná daňová sazba vztahuje
  • tax_rate_state – stát nebo region v rámci země, ke kterému se daňová sazba vztahuje
  • tax_rate – hodnota daňové sazby vyjádřená v procentech
  • tax_rate_name – název, nebo popis daňové sazby
  • tax_rate_priority – priorita daňové sazby v případě, že existují sazby, které se vzájemně překrývají
  • tax_rate_compound – určuje, zda se daná daňová sazba použije i na již zdaněné částky (složená daň)
  • tax_rate_shipping – určuje, zda se daná daňová sazba vztahuje na náklady na dopravu
  • tax_rate_order – pořadí, ve kterém jsou aplikovány daňové sazby
  • tax_rate_class – Třída nebo kategorie daňové sazby

Tabulka: woocommerce_tax_rate_locations

  • location_id – ID
  • location_code – kód, nebo označení geografického umístění, ke kterému se daňová sazba vztahuje
  • tax_rate_id – ID daňové sazby, ke které je toto umístění přiřazeno
  • location_type – typ umístění, může být např. „country“ (země), „state“ (stát)…

Tabulka: woocommerce_shipping_zones

  • zone_id – ID každé dopravní zóny
  • zone_name – název dopravní zóny
  • zone_order – pořadí, ve kterém jsou dopravní zóny zobrazeny nebo aplikovány

Tabulka: woocommerce_shipping_zone_locations

  • location_id -ID záznamu v tabulce
  • zone_id – ID dopravní zóny
  • location_code – kód, nebo označení geografického umístění
  • location_type – typ umístění(země, stát…)

Tabulka: woocommerce_shipping_zone_methods

  • zone_id – ID dopravní zóny, ke které jsou tyto metody přiřazeny
  • instance_id – ID každé instance dopravní metody v rámci dané zóny
  • method_id – ID konkrétní dopravní metody
  • method_order – pořadí, ve kterém jsou tyto metody zobrazeny nebo aplikovány v rámci zóny
  • is_enabled – určuje, zda je tato dopravní metoda povolena, nebo zakázána

Tabulka: woocommerce_payment_tokens

  • token_id – ID platebního tokenu
  • gateway_id – ID platební brány, ke které je tento token přiřazen
  • token – samotný platební token nebo kód, který je používán k identifikaci platební karty nebo jiného způsobu platby
  • user_id – ID uživatele, ke kterému je tento platební token přiřazen
  • type – typ platebního tokenu
  • is_default – určuje, zda je tento platební token nastaven jako výchozí pro daného uživatele

Tabulka: woocommerce_payment_tokenmeta

  • meta_id – ID záznamu
  • payment_token_id – ID platebního tokenu
  • meta_key – klíč metadat
  • meta_value – hodnora metadat obsahující samostatnou indormaci

Tabulka: woocommerce_log

  • log_id – ID zázamu
  • timestamp – timestamp události, kdy došlo k logování
  • level – úroveň důležitosti nebo závažnosti záznamu
  • source – zdroj nebo místo, kde došlo k dané události nebo chybě
  • message – textová zpráva nebo popis události nebo chyby
  • context – kontext nebo další informace spojené s událostí, které mohou být užitečné při diagnostice

Tabulka: wc_webhooks

  • webhook_id – ID webhooku
  • status – stav webhooku, například aktivní, nebo deaktivovaný
  • name – název webhooku
  • user_id – ID uživatele, který vytvořil daný webhook
  • delivery_url – URL adresa, na kterou jsou posílána oznámení (payload) událostí
  • secret – tajný klíč používaný k ověření autentičnosti webhooku
  • topic – určuje, na jakou událost má reagovat
  • date_created – datum a čas vytvoření webhooku
  • date_created_gmt – datum a čas vytvoření webhooku ve světovém čase
  • date_modified – datum a čas poslední úpravy webhooku
  • date_modified_gmt – datum a čas poslední úpravy webhooku ve světovém čase
  • api_version – verze API používaná pro tento webhook
  • failure_count – počet neúspěšných pokusů o doručení webhooku
  • pending_delivery – určuje, zda je webhook ve frontě pro odeslání (true/false)

Tabulka: wc_download_log

  • download_log_id – ID záznamu
  • timestamp – určuje, kdy došlo ke stažení
  • permission_id – ID oprávnění ke stažení, které je propojeno s digitálním produktem
  • user_id – ID uživatele, který provedl stažení
  • user_ip_address – IP adresa uživatele, který provedl stažení

Tabulka: wc_product_meta_lookup

  • product_id – ID produktu, ke kterému jsou tyto metainformace přiřazen
  • sku – označení pro skladování a sledování zásob
  • virtual – určuje, zda je produkt virtuální (true/false), kdy produkt nemá fyzickou podobu
  • downloadable – určuje, zda je produkt stažitelný (true/false)
  • min_price – nejnižší cena produktu
  • max_price – nejvyšší cena produktu
  • onsale – určuje, zda je produkt ve slevě (true/false)
  • stock_quantity – množství zásob produktu
  • stock_status – stav dostupnosti zásob produktu
  • rating_count – počet hodnocení produktu
  • average_rating – průměrné hodnocení produktu
  • total_sales – celkový počet prodaných kusů produktu

Tabulka: wc_tax_rate_classes

  • tax_rate_class_id – ID třídy daňových sazeb
  • name – název třídy daňových sazeb
  • slug

Tabulka: wc_reserved_stock

  • order_id – ID objednávky, ke které je rezervované skladové množství přiřazeno
  • product_id – ID produktu, pro který je rezervované skladové množství určeno
  • stock_quantity – množství produktu, které je rezervováno
  • timestamp
  • expires – datum a čas, kdy rezervace vyprší a bude uvolněna

Závěr

WooCommerce je jedním z nejrozšířenějších pluginů pro e-shopy ve WordPressu, a proto může být znalost jeho databáze užitečná například při řešení problémů, optimalizaci, nebo při pokročilých úpravách WooCommerce e-shopu.

Rovněž doporučuji přečíst článek o fungování WordPress databáze, pokud jste ještě nečetli.

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

1 Comments

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *