ACSD-56741:疑難排解自訂MySQL觸發器的資料庫設定錯誤

ACSD-56741修補程式修正了以下問題:由於資料庫中的自訂MySQL觸發程式與索引和MView無關,因此在setup:upgrade期間出現錯誤訊息​ 嘗試存取型別為null ​的值上的陣列位移。 安裝Quality Patches Tool (QPT) 1.1.48時,即可使用此修補程式。 修補程式ID為ACSD-56741。 請注意,此問題已排程在Adobe Commerce 2.5.0中修正

受影響的產品和版本

已為Adobe Commerce版本建立修補程式:

  • Adobe Commerce (所有部署方法) 2.4.6-p3

與Adobe Commerce版本相容:

  • Adobe Commerce (所有部署方法) 2.4.6 - 2.4.6-p4
NOTE
此修補程式可能適用於發行版本為Quality Patches Tool的其他版本。 若要檢查修補程式是否與您的Adobe Commerce版本相容,請將magento/quality-patches套件更新至最新版本,並在Quality Patches Tool上檢查相容性:搜尋修補程式頁面。 使用修補程式ID作為搜尋關鍵字,以尋找修補程式。

問題

setup:upgrade期間出現錯誤訊息​ 嘗試存取型別null ​值的陣列位移,因為資料庫中的自訂MySQL觸發程式與索引和MView無關。

要再現的步驟

  1. 執行php bin/magento indexer:set-mode schedule

    code language-none
    DELIMITER //
    CREATE TRIGGER trg_catalog_category_entity_before_delete_umis BEFORE DELETE ON catalog_category_entity FOR EACH ROW
        -> BEGIN
        -> UPDATE ewave_navigation_menu_item_info as nit INNER JOIN ewave_navigation_menu_category_type as ncmi ON nit.id = ncmi.menu_item_id AND ncmi.category_id = OLD.entity_id SET nit.status = 0;
        -> END //
    
  2. 執行php bin/magento c:f

  3. 執行php bin/magento setup:upgrade

預期結果

安裝程式升級順利完成,沒有發生任何錯誤。

實際結果

安裝程式升級結束,並出現錯誤訊息:

警告:正在嘗試存取型別null ​值的陣列位移。

套用修補程式

若要套用個別修補程式,請根據您的部署方法使用下列連結:

相關閱讀

若要進一步瞭解Quality Patches Tool,請參閱:

如需QPT中其他修補程式的詳細資訊,請參閱Quality Patches Tool指南中的Quality Patches Tool:搜尋修補程式

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3