gpt4 book ai didi

mysql - Magento 1.7 如何删除现有的多余网站和商店

转载 作者:行者123 更新时间:2023-12-03 23:11:41 24 4
gpt4 key购买 nike

在我正在从事的一个大型 Magento 项目(继承自以前的机构)中,该项目在 18 个网站上拥有 41 家商店。

该站点有 40,000 种产品和 5,000 个类别 - 所以您可以想象数据库膨胀得难以置信。

我想删除除 2 个网站和 2 个商店 View (每个网站一个)之外的所有内容,但使用 GUI 失败 - 删除商店 View 后页面变为空白。虽然数据库确实从 core_store 表中删除了商店,但感觉很不稳定。我也无法删除其网站的默认商店 View - 即使相关网站不是安装的默认网站。

尝试删除网站时提示“此时无法删除网站,请稍后再试”。

有没有一种干净、安全的方法可以直接从数据库中删除所有多余的商店、它们的父网站以及与它们相关的所有数据?

谢谢。

最佳答案

在我继承的遗留系统上,我自己也面临同样的任务。我删除实际商店的过程非常简单:只需进入数据库并从 core_website 中删除行。这将触发级联删除,清除 core_storestore_group 中的相应记录,触发另一个级联删除任何商店/网站范围的 EAV 值,以及各种其他事物。您可以通过运行此查询找到完整列表(用您的数据库名称代替 your_magento_database):

SELECT table_name 
FROM referential_constraints
WHERE constraint_schema = 'your_magento_database'
AND referenced_table_name IN( 'core_store', 'core_website' )
AND delete_rule = 'CASCADE'

Steve Robbins 提到,即使在删除这些内容之后,您最终也会得到许多“孤立的”记录,这些记录不会被这种级联删除删除。下面列出了在删除网站/商店后我一直在(主要是手动)进行清理的事情。

  • 客户群(每个客户群都有自己的价格指数;导致巨大的数据库膨胀)
  • 产品

    DELETE FROM catalog_product_entity WHERE entity_id NOT IN (SELECT product_id FROM catalog_product_website);

  • 类别
  • 目录规则

    DELETE FROM catalogrule WHERE rule_id NOT IN (SELECT DISTINCT rule_id FROM catalogrule_website);

  • 购物车价格规则

    DELETE FROM salesrule WHERE (rule_id NOT IN (SELECT DISTINCT rule_id FROM salesrule_website));

  • 配置数据(看起来 Magento 1.9 自动删除了这些,但这里有一个查询来确认)

    SELECT * FROM core_config_data WHERE (scope="stores" AND scope_id NOT IN (SELECT store_id FROM core_store)) OR (scope="websites" AND scope_id NOT IN (SELECT website_id FROM core_website));

  • CMS 页面

    DELETE FROM cms_page WHERE page_id NOT IN (SELECT DISTINCT page_id FROM cms_page_store);

  • 静态 block

    DELETE FROM cms_block WHERE block_id NOT IN (SELECT DISTINCT block_id FROM cms_block_store);

  • 小部件实例
  • 平面类别/产品表
  • 电子邮件模板
  • 税法、税级、税率
  • 管理员用户、管理员角色
  • API 用户
  • 订单:我宁愿保留这些,因为性能优势微乎其微,您以后可能需要这些数据,但只有您知道什么最适合您的项目。

    DELETE FROM sales_flat_order WHERE store_id IS NULL

我希望这对其他任何进行多商店清理的人来说都是有用的信息。我计划在找到更有效的清理方法后更新此答案。

关于mysql - Magento 1.7 如何删除现有的多余网站和商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22615920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com