文件CommerceCommerce KB

僅限PaaS

由於遺失REGEXP_LIKE函式,升級至B2B 1.5.2會因SQL語法錯誤而失敗

最後更新: 2025年5月5日
  • 主題:
  • B2B

建立對象:

  • 管理員
  • 開發人員
資訊
如果您在更新至B2B 1.5.2後升級Magento_Company模組時遇到效能問題,請套用附加的ACSD-65540_B2B_1.5.2_DEPENDENT_ACSD-65684_B2B_1.5.2.patch。
如需詳細資訊,請參閱Adobe Commerce知識庫中,B2B 1.5.2更新後Magento_Company模組升級中的效能問題。

本文提供嘗試更新company_structure資料表時,由於遺失REGEXP_LIKE函式而發生SQL語法錯誤的Hotfix。

受影響的產品和版本

  • Adobe Commerce (所有部署方法) 2.4.6-px + B2B 1.5.2 (使用MariaDB 10.6)
  • Adobe Commerce (所有部署方法) 2.4.7-px + B2B 1.5.2 (使用MariaDB 10.6)

問題

嘗試更新company_structure資料表時,因為遺失REGEXP_LIKE函式,所以升級至B2B 1.5.2版會失敗,並出現SQL語法錯誤。

必要條件:

  • MariaDB 10.6
  • Adobe Commerce 2.4.6x或2.4.7x
  • B2B 1.5.0或1.5.1版

要再現的步驟:

  1. 將公司指派給母公司,以建立公司階層。 如需詳細資訊,請參閱Adobe Commerce B2B指南中的管理公司階層。
  2. 將B2B升級至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. 將B2B模組更新至1.5.2版:

    composer require magento/module-b2b:1.5.2 --no-update
    composer update magento/module-b2b
    
  2. 套用附加的ACSD-65540_B2B_1.5.2.zip修補程式。 請參考支援知識庫中的如何套用Adobe提供的撰寫器修補程式,以取得指示。

  3. 執行bin/magento setup:upgrade。

使用雲端修補程式套用修補程式

針對雲端基礎結構上的Adobe Commerce,請遵循下列步驟:

  1. 將cloud-patches模組的版本更新為1.1.5:

    composer require magento/magento-cloud-patches:1.1.5 --no-update
    composer update magento/magento-cloud-patches
    
  2. 提交並推送變更以啟動重新部署。 請參閱雲端上的Adobe Commerce指南中的套用修補程式以取得指示。

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