由於遺失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版
要再現的步驟:
- 將公司指派給母公司,以建立公司階層。 如需詳細資訊,請參閱Adobe Commerce B2B指南中的管理公司階層。
- 將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(/.+)?$'))
解決方案
若要解決此問題,請執行以下步驟:
-
將B2B模組更新至1.5.2版:
composer require magento/module-b2b:1.5.2 --no-update composer update magento/module-b2b
-
套用附加的ACSD-65540_B2B_1.5.2.zip修補程式。 請參考支援知識庫中的如何套用Adobe提供的撰寫器修補程式,以取得指示。
-
執行
bin/magento setup:upgrade
。
使用雲端修補程式套用修補程式
針對雲端基礎結構上的Adobe Commerce,請遵循下列步驟:
-
將
cloud-patches
模組的版本更新為1.1.5:composer require magento/magento-cloud-patches:1.1.5 --no-update composer update magento/magento-cloud-patches
-
提交並推送變更以啟動重新部署。 請參閱雲端上的Adobe Commerce指南中的套用修補程式以取得指示。
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a