Perguntas frequentes

⌘K
  1. Perguntas mais frequentes...
  2. Bilhetes
  3. Não estão a ser gerados bilhetes para encomendas grandes.

Não estão a ser gerados bilhetes para encomendas grandes.

Isso provavelmente é causado por uma limitação do tipo de dados no banco de dados do seu site. O FooEvents armazena os dados dos bilhetes de um pedido em um único serializado. meta_valor. Em encomendas grandes (aproximadamente mais de 30 bilhetes numa encomenda, dependendo da quantidade de dados que cada bilhete armazena), esse valor serializado pode exceder o tamanho máximo permitido para um TEXTO campo. Quando isso acontece:

  • A meta da ordem é truncado ou não totalmente guardado.
  • O FooEvents não possui todos os dados que espera.
  • Os bilhetes para essa encomenda podem não ser gerado corretamente ou de todo.

Quem é afetado? #

Isso deve afetar apenas as lojas que:

  • Tenha HPOS (Armazenamento de encomendas de alto desempenho WooCommerce) ativado.
  • Espere para processar encomendas de grande valor (cerca de 30 ou mais bilhetes numa única encomenda).

Se você é não utilizando HPOS, não deve ser afetado por este problema.

Por que isso não afeta sites que não são HPOS? #

Em sites não HPOS, o WooCommerce usa o padrão WordPress. metadados da publicação tabela (por exemplo, wp_postmeta) para meta de encomendas.

Em metadados da publicação, o meta_valor A coluna já está definida como TEXTO LONGO, que pode armazenar valores muito maiores do que TEXTO.

Por isso, sites que não são HPOS podem armazenar com segurança grandes valores meta de tickets FooEvents sem qualquer alteração.

Se você tiver esse problema em um site que não seja HPOS, você ou o seu desenvolvedor podem ter alterado o tipo de dados do meta_valor campo no WordPress metadados da publicação mesa.

Detalhes técnicos #

  • TEXTO comprimento máximo: 65.535 bytes.
  • TEXTO LONGO comprimento máximo: 4 GB.

O FooEvents armazena dados por bilhete, tais como:

  • IDs dos bilhetes
  • Detalhes do participante
  • Informações sobre o evento
  • Meta adicional do bilhete

Tudo isso é serializado em um único meta_valor. Em encomendas grandes, essa sequência pode exceder o que TEXTO pode armazenar, causando truncamento e geração de bilhetes inválidos.

Se estiver a utilizar o HPOS e esperar encomendas de grande valor, altere o meta_valor coluna no wc_pedidos_meta tabela de TEXTO para TEXTO LONGO.

Importante: Isso envolve modificar uma tabela principal WooCommerce. Sempre faça um backup do seu banco de dados primeiro. Se não se sentir confortável em fazer isso, peça ajuda ao seu host ou a um programador.

  1. Confirme o nome da tabela
    A maioria das instalações utilizará: wp_wc_orders_meta
    Se estiver a utilizar um prefixo personalizado, ajuste-o adequadamente (por exemplo myshop_wc_orders_meta).
  2. Exemplo: execute o comando SQL (ajuste o nome da tabela conforme necessário)
    ALTER TABLE `wp_wc_orders_meta` MODIFY `meta_value` LONGTEXT NULL;
  3. Verificar
    • Certifique-se de que a consulta seja concluída sem erros.
    • Faça um pedido de teste com um grande número de bilhetes e confirme se os bilhetes são gerados conforme o esperado.

Isso irá quebrar WooCommerce ou HPOS? #

Não. Esta alteração é segura e está em conformidade com a forma como o WordPress já armazena meta:

  • O núcleo WordPress e o WooCommerce já utilizam TEXTO LONGO para meta_valor no metadados da publicação mesa.
  • Mudança meta_valor em wc_pedidos_meta de TEXTO para TEXTO LONGO simplesmente aumenta a quantidade de dados que podem ser armazenados; não altera a forma como o WooCommerce ou o FooEvents lêem ou gravam os dados.

Dito isto:

  • Sempre fazer um backup completo da base de dados primeiro.
  • Idealmente, teste essa alteração em um site de teste antes de aplicá-lo na produção.