Prestashop feature_value_lang 在数据库中重复

问题描述

我们有 Prestashop 1.7.6 和以下问题:我们有很多 feature_value_lang 重复项。它们都与单个产品相关联。因此,不是将一个特征值与 N 个产品相关联,而是将 N 个特征值与 N 个产品相关联,因此我们不能真的无意识地删除它们。有没有人遇到过这个问题?重新导入产品不是解决方案。它们是通过 API 插入的,该 API 没有提供许多选项来检查特征值是否存在。

到目前为止,我们所做的是分析数据库以寻找仅用于 MysqL解决方案,但没有运气。另一种选择是创建一个脚本来检查所有产品的每个特征值并相应地更新所有特征值,并在此过程中收集所有即将成为无用特征值并在之后删除它们。有什么更好的方法吗?

解决方法

我是这样做的,效果很好:

  1. 从 PS 数据库中删除所有特征值
  2. 使用 PHP 脚本独立添加所有特征值
  3. 使用 API 添加每个产品的所有特征值,并检查临时数据库中是否存在 id_feature_value(另一个脚本)
  4. 将它们设置为在 cron 作业中运行。

现在,数据库减少了 300 万行,我可以使用过滤器并且商店运行得更快。