Récemment, WooCommerce a introduit le « High-Performance Order Storage » [HPOS] pour les commandes WooCommerce en tant que fonctionnalité bêta, que tu peux activer pour enregistrer les données des commandes WooCommerce dans des tables de base de données séparées avec les noms suivants :
- _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
Ce guide explique comment utiliser cette fonctionnalité pour empêcher les commandes du site de staging de remplacer les commandes du site en production lorsque tu pousses un site de staging vers le site en production. Pour ce faire, suis ces étapes :
Contents
Activer HPOS sur le site en production et sur le site de staging :
Remarque : HPOS est en cours de développement actif. Tu trouveras des instructions plus détaillées dans l’article officiel WooCommerce HPOS.
Va dans (WooCommerce > Settings > Advanced > Features) et coche la case « High-performance order storage » comme dans cette capture d’écran, sur les deux sites (staging et production), et assure-toi que « Enable compatibility mode » est également coché.

Après cette étape, WooCommerce commencera à synchroniser les commandes de la table _posts ordinaire vers la nouvelle table _wc_orders ; il peut être nécessaire d’attendre quelques minutes que la synchronisation se termine.
Encore une fois, ces étapes doivent être effectuées sur les deux sites, en production et en staging.
Exclure les tables de commandes WooCommerce lors du processus de push
Lors du push d’un site de staging vers le site en production, tu peux exclure ces tables :

Les commandes WooCommerce de ton site en production resteront inchangées après le push et ne seront pas remplacées par celles du site de staging.
Prévenir les paiements en double : exclure les tables ActionScheduler
Lors du push ou de la migration d’un site WooCommerce utilisant WooCommerce Subscriptions ou d’autres tâches planifiées, il existe un risque de déclencher des actions en double (telles que des paiements récurrents) sur le site de destination.
Pour éviter que ces actions se déclenchent deux fois, tu dois exclure les tables ActionScheduler du processus de migration/push :
{prefix}_actionscheduler_actions{prefix}_actionscheduler_logs{prefix}_actionscheduler_claims{prefix}_actionscheduler_groups
Remarque : Remplace {prefix}_ par le préfixe de base de données spécifique à ton site de staging.
Comme dans cette capture d’écran :

Articles connexes
- Tables personnalisées WooCommerce – Implémentation initiale HPOS prête pour les tests
- Ignorer les commandes et produits WooCommerce
- Comment supprimer toutes les commandes WooCommerce et les données clients sur le site de staging
- Deux façons simples de sauvegarder ta base de données WooCommerce dans WP