Niedawno WooCommerce wprowadził „High-Performance Order Storage” [HPOS] dla zamówień WooCommerce jako funkcję beta, którą możesz włączyć, aby zapisywać dane zamówień WooCommerce w osobnych tabelach bazy danych o następujących nazwach:
- _wc_orders
- _wc_orders_meta
- _wc_order_addresses
- _wc_order_operational_data
- _wc_order_coupon_lookup
- _wc_order_product_lookup
- _wc_order_stats
- _wc_order_tax_lookup
- wp_woocommerce_order_items
- wp_woocommerce_order_itemmeta
Ten przewodnik wyjaśnia, jak wykorzystać tę funkcję, aby zamówienia na witrynie staging nie zastępowały zamówień na żywej witrynie podczas push witryny staging na żywą. Aby to zrobić, wykonaj następujące kroki:
Contents
Włącz HPOS zarówno na żywej witrynie, jak i na witrynie staging:
Uwaga: HPOS jest intensywnie rozwijany i wciąż w fazie prac. Bardziej szczegółowe instrukcje znajdziesz w oficjalnym artykule WooCommerce o HPOS.
Przejdź do (WooCommerce > Settings > Advanced > Features) i zaznacz pole „High-performance order storage” jak na tym zrzucie ekranu, zarówno na witrynie staging, jak i żywej. Upewnij się też, że „Enable compatibility mode” jest zaznaczone.

Po tym kroku WooCommerce zacznie synchronizować zamówienia ze standardowej tabeli _posts do nowej tabeli _wc_orders, może być konieczne odczekanie kilku minut, aż synchronizacja się zakończy.
Ponownie – te kroki należy wykonać zarówno na żywej witrynie, jak i na witrynie staging.
Wyklucz tabele zamówień WooCommerce podczas procesu push
Teraz, jeśli chodzi o push witryny staging na żywą, możesz wykluczyć te tabele:

I zamówienia WooCommerce na twojej żywej witrynie pozostaną niezmienione po push i nie zostaną zastąpione tymi z witryny staging.
Zapobiegaj duplikatom płatności: wykluczanie tabel ActionScheduler
Podczas push lub migracji witryny WooCommerce korzystającej z WooCommerce Subscriptions lub innych zadań zaplanowanych istnieje ryzyko wyzwolenia zduplikowanych akcji (np. cyklicznych płatności) na witrynie docelowej.
Aby zapobiec dwukrotnemu uruchomieniu tych akcji, musisz wykluczyć tabele ActionScheduler z procesu migracji/push:
{prefix}_actionscheduler_actions{prefix}_actionscheduler_logs{prefix}_actionscheduler_claims{prefix}_actionscheduler_groups
Uwaga: Zastąp {prefix}_ konkretnym prefiksem bazy danych twojej witryny staging.
Jak na tym zrzucie ekranu:
