ACSD-64149: Um segmento de cliente com uma condição Date range pode ser salvo quando apenas uma data é editada
O patch ACSD-64149 corrige o problema em que um segmento de cliente com uma condição de intervalo de datas pode ser salvo quando apenas uma das datas é editada. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.60 está instalado. A ID do patch é ACSD-64149. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.8.
Produtos e versões afetados
O patch foi criado para a versão do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.6-p8
Compatível com as versões do Adobe Commerce:
- Adobe Commerce (todos os métodos de implantação) 2.4.4 - 2.4.7-p4
magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.Problema
Ao editar um segmento de cliente existente com uma condição em produtos dentro do carrinho de compras especificado por um intervalo de datas, o consumidor matchCustomerSegmentProcessor falha com um erro SQL.
Etapas a serem reproduzidas:
-
Verifique se o consumidor
matchCustomerSegmentProcessorestá em execução:code language-bash $ bin/magento que:cons:st matchCustomerSegmentProcessor -
Vá para o Magento backend.
-
Vá para Customers > Segments.
-
Clique em Add Segment.
-
Insira um Segment Name, selecione um site em Assigned to Website e verifique se Status está definido como Ativo.
-
Clique em Save and Continue Edit.
-
Vá para a guia Conditions e adicione uma nova Condição: Produtos{} > {}Lista de Produtos{}.
-
Adicione uma subcondição para Date range e defina um Date range válido.
-
Clique no botão verde de confirmação ao lado de Date range.
-
Clique no Date range novamente, selecione o seletor de datas, edite um dos valores de data e confirme clicando no botão verde.
Resultados esperados:
O seletor Date range não deve adicionar hora à data ao editar.
Resultados reais:
-
O seletor Date range adiciona hora à data:
- Uma data tem apenas a data, enquanto a outra tem a data e a hora especificadas.
-
O seguinte erro é exibido nos logs:
code language-none report.CRITICAL: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2, query was: SELECT `item`.`quote_id` FROM `quote_item` AS `item` INNER JOIN `quote` AS `list` ON item.quote_id = list.entity_id WHERE (list.is_active = 1) AND () [] []
Aplicar o patch
Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:
- Adobe Commerce ou Magento Open Source local: Quality Patches Tool > Uso no guia Quality Patches Tool.
- Adobe Commerce na infraestrutura em nuvem: Atualizações e patches > Aplicar patches no guia do Commerce na infraestrutura em nuvem.
Leitura relacionada
Para saber mais sobre Quality Patches Tool, consulte:
- Quality Patches Tool: uma ferramenta de autoatendimento para patches de qualidade no guia Ferramentas.