ACP2E-5009:内容暂存迁移会创建无效的更新并减慢setup:upgrade
ACP2E-5009修补程序修复了以下问题:将Magento Open Source类别和产品日期迁移到Adobe Commerce中的Content Staging计划更新的数据修补程序为类别创建空的计划更新,当空日期值保留在上一次运行时,跳过所有产品日期,并对包含多个类别和商店视图的目录执行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
magento/quality-patches包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。问题
在Adobe Commerce中将Magento Open Source类别和产品日期迁移到Content Staging计划更新的数据修补程序为类别创建空的计划更新,当上次运行中有空日期值时跳过所有产品日期,并对包含许多类别和商店视图的目录使setup:upgrade速度非常慢。
先决条件:
您即将将Magento Open Source升级到Adobe Commerce。
MigrateCatalogProducts数据修补程序会将类别和产品日期转换为内容暂存计划更新。要在Adobe Commerce上再次运行数据修补程序,请从patch_list表中删除该修补程序:
DELETE FROM patch_list WHERE patch_name = 'Magento\\CatalogStaging\\Setup\\Patch\\Data\\MigrateCatalogProducts';
重现步骤:
从Magento Open Source迁移:
- 在Magento Open Source上,在多个类别的 Schedule Design Update 部分中设置 Schedule Update From 和To。 将 To 保留为空,并使用过去和未来的日期。
- 在多个产品上,在 Advanced Pricing 中设置一个包含 Special Price From 和 To 的Special Price,并使用过去和未来日期设置 Set Product as New From 和To。
- 在此Magento Open Source数据库上安装Adobe Commerce并运行
bin/magento setup:upgrade。 - 转到Content > Content Staging > Dashboard,然后查看为类别和产品创建的计划更新。 打开类别和产品,并选中它们的 Scheduled Changes 框。
- 再次运行数据修补程序:将其从
patch_list表中删除(请参阅先决条件),运行bin/magento setup:upgrade,然后检查var/log/exception.log。
性能:
- 在Adobe Commerce上,创建180个商店视图和8,000个类别。
- 运行
time bin/magento setup:upgrade并记录经过的时间。 - 从
patch_list表中删除数据修补程序(请参阅先决条件),然后重新运行time bin/magento setup:upgrade。
预期的结果:
从Magento Open Source迁移:
- 每个日期为 Schedule Design Update 的类别都有一个包含相同日期的类别的计划更新。
- 每个日期为 Special Price 或 Set Product as New 的产品都会有具有相同值和日期的计划更新。
- 没有日期的类别和产品没有计划的更新。
- 当数据修补程序再次运行时,将忽略空的产品日期值,并且不会记录任何错误。
性能:
第二个setup:upgrade运行快速完成。 数据修补程序跳过没有计划设计日期的类别。
实际结果:
从Magento Open Source迁移:
- 为类别创建的计划更新不包含类别。
- 当数据修补程序再次运行时,它将在上次运行遗留的第一个空产品日期值处停止,并且不迁移任何产品日期。
性能:
- 第二次
setup:upgrade运行大约需要47分钟,而第一次运行需要14秒。 - 数据修补程序会为每个商店视图加载每个类别(180个商店视图和8,000个类别大约加载140万个类别),并且不会进行任何更改。 在大型目录上部署可能需要几个小时。
应用修补程序
要应用单独的修补程序,请根据您的部署方法使用以下链接:
- Adobe Commerce或Magento Open Source内部部署: Quality Patches Tool指南中的Quality Patches Tool >使用情况
- 云基础架构上的Adobe Commerce: Commerce on Cloud Infrastructure指南中的升级和修补程序>应用修补程序
相关阅读
要了解有关Quality Patches Tool的更多信息,请参阅: