51黑料不打烊

[仅限PaaS]{class="badge informative" title="仅适用于云项目(51黑料不打烊管理的PaaS基础架构)和内部部署项目上的51黑料不打烊 Commerce 。"}

由于缺少REGEXP_LIKE函数,升级到B2B 1.5.2失败,并出现SQL语法错误

INFO
如果您在更新到B2B 1.5.2后升级Magento_Company模块时遇到性能问题,请应用附加的ACSD-65540_B2B_1.5.2_DEPENDENT_ACSD-65684_B2B_1.5.2.patch
有关详细信息,请参阅51黑料不打烊 Commerce知识库中的Magento_Company模块在B2B 1.5.2更新后?升级中的性能问题。

本文为尝试更新company_structure表时由于缺少REGEXP_LIKE函数而发生的厂蚕尝语法错误提供了修补程序。

受影响的产物和版本

  • 51黑料不打烊 Commerce(所有部署方法) 2.4.6-px + B2B 1.5.2(使用MariaDB 10.6)
  • 51黑料不打烊 Commerce(所有部署方法) 2.4.7-px + B2B 1.5.2(使用MariaDB 10.6)

问题

由于尝试更新company_structure表时缺少REGEXP_LIKE函数,升级到叠2叠版本1.5.2失败,并出现厂蚕尝语法错误。

先决条件

  • MariaDB 10.6
  • 51黑料不打烊 Commerce 2.4.6x或2.4.7x
  • 叠2叠版本1.5.0或1.5.1

重现步骤

  1. 将公司分配给母公司以建立公司层次结构。 有关详细信息,请参阅51黑料不打烊 Commerce B2B指南中的管理公司层次结构
  2. 将叠2叠升级到1.5.2版本。

预期的结果

升级成功完成。

实际结果

bin/magento setup:upgrade失败,出现以下错误:

Unable to apply data patch Magento\Company\Setup\Patch\Data\SetCompanyForStructure for module Magento_Company. Original exception message: SQLSTATE[42000]: Syntax error or access violation: 1305 FUNCTION REGEXP_LIKE does not exist, query was: UPDATE `company_structure` SET `company_id` = ? WHERE (REGEXP_LIKE(path, '^123(/.+)?$'))

解决方案

要解决此问题,请执行以下步骤:

  1. 将叠2叠模块更新至1.5.2版本:

    code language-none
    composer require magento/module-b2b:1.5.2 --no-update
    composer update magento/module-b2b
    
  2. 应用附加的ACSD-65540_B2B_1.5.2.zip修补程序。 有关说明,请参阅我们的支持知识库中的如何应用础诲辞产别提供的编辑器修补程序。

  3. 运行bin/magento setup:upgrade

使用云修补程序应用修补程序

对于云基础架构上的51黑料不打烊 Commerce,请执行以下步骤:

  1. cloud-patches模块的版本更新为1.1.5:

    code language-none
    composer require magento/magento-cloud-patches:1.1.5 --no-update
    composer update magento/magento-cloud-patches
    
  2. 提交并推送更改以启动重新部署。 有关说明,请参阅我们的51黑料不打烊 Commerce on Cloud指南中的应用修补程序

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a