Veelgestelde vragen

⌘K
  1. Veelgestelde vragen...
  2. Tickets
  3. Er worden geen tickets gegenereerd voor grote bestellingen.

Er worden geen tickets gegenereerd voor grote bestellingen.

Dit wordt waarschijnlijk veroorzaakt door een beperking van het gegevenstype in de database van uw site. FooEvents slaat ticketgegevens voor een bestelling op in een enkele geserialiseerde meta_waarde. Bij grote bestellingen (ongeveer 30+ tickets in één bestelling, afhankelijk van hoeveel gegevens elk ticket opslaat) kan die geserialiseerde waarde de maximaal toegestane grootte voor een TEKST veld. Wanneer dat gebeurt:

  • De order meta is afgekapt of niet volledig opgeslagen.
  • FooEvents beschikt niet over alle gegevens die het verwacht.
  • Tickets voor die bestelling kunnen niet correct worden gegenereerd of helemaal niet.

Wie wordt hierdoor getroffen? #

Dit zou alleen van invloed moeten zijn op winkels die:

  • Hebben HPOS (WooCommerce High-Performance Order Storage) ingeschakeld.
  • Verwacht te verwerken grote bestellingen (ongeveer 30 of meer tickets in één bestelling).

Als u niet gebruiken HPOS, zou u hier geen last van moeten hebben.

Waarom heeft dit geen invloed op niet-HPOS-sites? #

Op niet-HPOS-sites gebruikt WooCommerce de standaard WordPress. postmeta tabel (bijvoorbeeld wp_postmeta) voor ordermeta.

In postmetade meta_waarde kolom is al gedefinieerd als LANG TEKST, die veel grotere waarden kan opslaan dan TEKST.

Daarom kunnen niet-HPOS-sites grote FooEvents-ticketmetawaarden veilig opslaan zonder enige wijzigingen.

Als u dit probleem ondervindt op een niet-HPOS-site, hebben u of uw ontwikkelaar mogelijk het gegevenstype van de meta_waarde veld in de WordPress postmeta tafel.

Technische details #

  • TEKST maximale lengte: 65.535 bytes.
  • LANG TEKST maximale lengte: 4 GB.

FooEvents slaat gegevens per ticket op, zoals:

  • Ticket-ID's
  • Gegevens van deelnemers
  • Evenementinformatie
  • Extra ticketmeta

Dat alles wordt geserialiseerd in één enkel meta_waarde. Bij grote bestellingen kan die reeks langer zijn dan wat TEKST kan opslaan, wat leidt tot afkapping en het genereren van onvolledige tickets.

Als u HPOS gebruikt en grote bestellingen verwacht, wijzig dan de meta_waarde kolom in de wc_bestellingen_meta tabel uit TEKST naar LANG TEKST.

Belangrijk: Hiervoor moet u een WooCommerce-kern tabel aanpassen. Maak altijd eerst een back-up van uw database. Als u dit niet vertrouwd vindt, vraag dan uw host of een ontwikkelaar om hulp.

  1. Bevestig de tabelnaam
    De meeste installaties gebruiken: wp_wc_orders_meta
    Als u een aangepast voorvoegsel gebruikt, pas dit dan dienovereenkomstig aan (bijvoorbeeld mijnwinkel_wc_bestellingen_meta).
  2. Voorbeeld: voer de SQL-opdracht uit (pas de tabelnaam dienovereenkomstig aan)
    ALTER TABLE `wp_wc_orders_meta` MODIFY `meta_value` LONGTEXT NULL;
  3. Verifiëren
    • Zorg ervoor dat de query zonder fouten wordt voltooid.
    • Plaats een testbestelling met een groot aantal tickets en controleer of de tickets worden gegenereerd zoals verwacht.

Zal dit WooCommerce of HPOS doorbreken? #

Nee. Deze wijziging is veilig en sluit aan bij de manier waarop WordPress meta al opslaat:

  • WordPress-kern en WooCommerce worden al gebruikt LANG TEKST voor meta_waarde in de postmeta tafel.
  • Veranderen meta_waarde in wc_bestellingen_meta van TEKST naar LANG TEKST verhoogt alleen de hoeveelheid gegevens die kan worden opgeslagen; het verandert niets aan de manier waarop WooCommerce of FooEvents de gegevens leest of schrijft.

Dat gezegd hebbende:

  • Altijd maak een volledige databaseback-up eerst.
  • Test deze wijziging idealiter op een testomgeving voordat het in productie wordt genomen.