ACP2E-5009: Content Staging移轉會建立無效的更新並減慢setup:upgrade

ACP2E-5009修補程式修正了將Magento Open Source類別和產品日期移轉到Adobe Commerce中的內容暫存排程更新的資料修補程式會為類別建立空白的排程更新、當空白日期值保留在上次執行時跳過所有產品日期,以及在具有許多類別和商店檢視的類別上導致setup:upgrade非常緩慢的問題。 安裝Quality Patches Tool (QPT) 1.1.84時,即可使用此修補程式。 修補程式ID為ACP2E-5009。 請注意,此問題已排程在Adobe Commerce 2.4.10中修正。

受影響的產品和版本

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

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

與Adobe Commerce版本相容:

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

問題

將Magento Open Source類別和產品日期移轉到Adobe Commerce中的內容暫存排程更新的資料修補程式會為類別建立空的排程更新,當空白日期值保留在上次執行時就會跳過所有產品日期,並在包含許多類別和存放區檢視的目錄上讓setup:upgrade非常緩慢。

必要條件:

您即將將Magento Open Source升級至Adobe Commerce。

NOTE
Magento Open Source沒有內容分段,因此當Adobe Commerce安裝在Magento Open Source資料庫上時,MigrateCatalogProducts資料修補程式會將類別和產品日期轉換為內容分段排程更新。

若要在Adobe Commerce上再次執行資料修補程式,請從patch_list表格中移除該修補程式:

DELETE FROM patch_list WHERE patch_name = 'Magento\\CatalogStaging\\Setup\\Patch\\Data\\MigrateCatalogProducts';

要再現的步驟:

從Magento Open Source移轉:

  1. 在Magento Open Source上,在數個類別的​ Schedule Design Update ​區段中設定​ Schedule Update From ​和​To。 將​ To ​保留為空白,並使用過去和未來的日期。
  2. 在數個產品上,使用​ Advanced Pricing ​中的​ Special Price From ​和​ To ​設定​Special Price,並使用過去和未來的日期設定​ Set Product as New From ​和​To。
  3. 在此Magento Open Source資料庫上安裝Adobe Commerce並執行bin/magento setup:upgrade。
  4. 前往「Content > Content Staging > Dashboard」,檢查針對類別和產品建立的排程更新。 開啟類別和產品,並核取其​ Scheduled Changes ​方塊。
  5. 再次執行資料修補程式:從patch_list資料表中移除該修補程式(請參閱先決條件)、執行bin/magento setup:upgrade並檢查var/log/exception.log。

效能:

  1. 在Adobe Commerce上,建立180個商店檢視和8,000個類別。
  2. 執行time bin/magento setup:upgrade並記錄經過的時間。
  3. 從patch_list表格移除資料修補程式(請參閱先決條件),然後再次執行time bin/magento setup:upgrade。

預期結果:

從Magento Open Source移轉:

  1. 每個具有​ Schedule Design Update ​日期的類別都有排程更新,其中包含具有相同日期的類別。
  2. 每個具有​ Special Price ​或​ Set Product as New ​日期的產品都會有具有相同值和日期的排程更新。
  3. 沒有日期的類別和產品沒有排程的更新。
  4. 當資料修補程式再次執行時,會忽略空的產品日期值,且不會記錄任何錯誤。

效能:
第二個setup:upgrade執行快速完成。 資料修補程式會略過沒有排程設計日期的類別。

實際結果:

從Magento Open Source移轉:

  1. 為類別建立的排程更新不包含類別。
  2. 當資料修補程式再次執行時,它會在上次執行留下的第一個空白產品日期值停止,並且不會移轉任何產品日期。

效能:

  1. 第二次setup:upgrade執行大約需要47分鐘,而第一次執行則需要14秒。
  2. 資料修補程式會針對每個商店檢視載入每個類別(180個商店檢視和8,000個類別約140萬個類別載入),且不會有任何變更。 在大型目錄上進行部署可能需要數小時。

套用修補程式

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

相關閱讀

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

recommendation-more-help
commerce-operations-help-tools