Questions fréquemment posées

⌘K
  1. Questions fréquemment posées...
  2. Billets
  3. Les billets ne sont pas générés pour les commandes importantes.

Les billets ne sont pas générés pour les commandes importantes.

Ceci est très probablement dû à une limitation du type de données dans la base de données de votre site. FooEvents stocke les données des billets pour une commande dans un seul fichier sérialisé. valeur_méta. Pour les commandes importantes (environ 30 tickets ou plus dans une seule commande, en fonction de la quantité de données stockées dans chaque ticket), cette valeur sérialisée peut dépasser la taille maximale autorisée pour un TEXTE champ. Lorsque cela se produit :

  • La méta de la commande est tronqué ou non entièrement enregistré.
  • FooEvents ne dispose pas de toutes les données attendues.
  • Les billets pour cette commande peuvent ne pas être généré correctement ou du tout.

Qui est concerné ? #

Cela ne devrait concerner que les magasins qui :

  • Avoir HPOS (Stockage des commandes haute performance WooCommerce) activé.
  • Prévoyez un délai de traitement commandes importantes (environ 30 billets ou plus dans une seule commande).

Si vous êtes pas en utilisant HPOS, vous ne devriez pas être concerné par ce problème.

Pourquoi cela n'affecte-t-il pas les sites non-HPOS ? #

Sur les sites non HPOS, WooCommerce utilise la norme WordPress. post-métadonnées table (for example wp_postmeta) for order meta.

En post-métadonnées, le valeur_méta La colonne est déjà définie comme TEXTE LONG, qui peut stocker des valeurs beaucoup plus grandes que TEXTE.

Because of that, non-HPOS sites can safely store large FooEvents ticket meta values without any changes.

If you do experiance this issue on a non-HPOS site,  you or your developer may gave changed the data type of the valeur_méta champ dans le WordPress post-métadonnées table.

Détails techniques #

  • TEXTE longueur maximale : 65 535 octets.
  • TEXTE LONG longueur maximale : 4 Go.

FooEvents stocke les données par ticket telles que :

  • Identifiants des billets
  • Informations sur les participants
  • Informations sur l'événement
  • Méta-informations supplémentaires sur les billets

Tout cela est sérialisé en un seul valeur_méta. Pour les commandes importantes, cette chaîne peut dépasser ce qui TEXTE peut stocker, provoquant une troncature et la génération de tickets erronés.

Si vous utilisez HPOS et prévoyez des commandes importantes, modifiez le valeur_méta colonne dans le wc_commandes_meta tableau provenant de TEXTE à TEXTE LONG.

Important : Cela implique de modifier une table principale WooCommerce. Sauvegardez toujours votre base de données au préalable. Si vous n'êtes pas à l'aise avec cette opération, demandez à votre hébergeur ou à un développeur de vous aider.

  1. Confirmez le nom de la table.
    Most installs will use: wp_wc_orders_meta
    If you’re using a custom prefix, adjust accordingly (for example myshop_wc_commandes_meta).
  2. Exemple d'exécution de la commande SQL (ajustez le nom de la table en conséquence)
    ALTER TABLE `wp_wc_orders_meta` MODIFY `meta_value` LONGTEXT NULL;
  3. Vérifier
    • Assurez-vous que la requête s'exécute sans erreur.
    • Passez une commande test avec un grand nombre de billets et vérifiez que les billets sont générés comme prévu.

Cela va-t-il casser WooCommerce ou HPOS ? #

Non. Ce changement est sans danger et correspond à la manière dont WordPress stocke déjà les métadonnées :

  • Le noyau WordPress et WooCommerce utilisent déjà TEXTE LONG pour valeur_méta dans le post-métadonnées table.
  • Changement valeur_méta en wc_commandes_meta de TEXTE à TEXTE LONG augmente simplement la quantité de données pouvant être stockées ; cela ne modifie en rien la manière dont WooCommerce ou FooEvents lisent ou écrivent les données.

Cela dit :

  • Toujours effectuer une sauvegarde complète de la base de données premier.
  • Idéalement, testez cette modification sur un site de préproduction avant de l'appliquer à la production.