ACSD-59083:在同步mview更新期间未找到​ 基表或视图 ​错误

ACSD-59083修补程序修复了当mview更新同时运行时,某些数据库更新操作失败并出现错误“未找到基表或视图”的问题。 安装Quality Patches Tool (QPT) 1.1.57时,此修补程序可用。 修补程序ID为ACSD-59083。 请注意,Adobe Commerce 2.4.8中已修复此问题。

受影响的产品和版本

为Adobe Commerce版本创建了修补程序:

Adobe Commerce(所有部署方法) 2.4.5-p5

与Adobe Commerce版本兼容:

Adobe Commerce(所有部署方法) 2.4.4 - 2.4.7-p3

NOTE
该修补程序可能适用于具有新Quality Patches Tool发行版本的其他版本。 要检查修补程序是否与您的Adobe Commerce版本兼容,请将magento/quality-patches包更新到最新版本,并在Quality Patches Tool:搜索修补程序页面上检查兼容性。 使用修补程序ID作为搜索关键字来查找修补程序。

问题

mview更新同时运行时,某些数据库更新操作会导致“未找到基表或视图”错误。

重现步骤

  1. 将索引器模式设置为​ Update on Schedule

  2. 使用以下SQL命令将记录插入到cl表中:

    code language-none
    INSERT INTO catalogrule_product_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO catalogrule_rule_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO catalogsearch_fulltext_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO catalog_category_product_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO catalog_product_attribute_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO catalog_product_category_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO catalog_product_price_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO customer_dummy_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO design_config_dummy_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO salesrule_rule_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO targetrule_product_rule_cl SELECT NULL, entity_id FROM catalog_product_entity;
    INSERT INTO targetrule_rule_product_cl SELECT NULL, entity_id FROM catalog_product_entity;
    
  3. 安装setup/performance-toolkit/profiles/ce/small.xml配置文件。

  4. 在文件magento2ee/lib/internal/Magento/Framework/ForeignKey/Config/DbReader.php的第72行添加断点。

  5. 清除缓存。

  6. 单击任意产品上的​ Add to Cart

  7. 在执行命中断点时启动cron作业。

  8. 启动cron作业后恢复该进程。

预期的结果

数据库操作成功执行且没有错误。

实际结果

执行期间出错:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'magento24.design_config_dummy_cl__tmp663bb682960345_17794892' doesn't exist in /www/magento24/lib/internal/Magento/Framework/DB/Statement/Pdo/Mysql.php:90

应用修补程序

要应用单独的修补程序,请根据您的部署方法使用以下链接:

相关阅读

要了解有关Quality Patches Tool的更多信息,请参阅:

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