Struktura WooCommerce databáze - Affinite.io CZ

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.

Jak testovat RC verze WooComerce
Jak testovat RC verze WooComerce
11 Bře, 2024
WordPress šablona Astra obsahovala bezpečnostní hrozbu
WordPress šablona Astra obsahovala bezpečnostní hrozbu
26 Bře, 2024

Komentáře nejsou povoleny.

Looking for something?