22

是否有可以在 Magento 中安全截断的表列表?安全,我的意思是保存产品。

我有一些,但想知道是否还有更多:

  • core_url_rewrite # 只有在没有自定义重写时才安全
  • 目录_product_flat_1
  • catalog_product_flat_#(# 取决于多商店)
  • log_customer
  • 日志报价
  • 日志摘要
  • log_summary_type
  • 日志网址
  • log_url_info
  • log_visitor
  • log_visitor_info
  • log_visitor_online
4

4 回答 4

50

在你做任何事情之前

  • 确保首先在非生产环境中测试清除此数据。
  • 在永远丢失数据之前始终进行备份。
  • 确保你在truncateing,而不是在droping。
  • 在大量删除记录后通过 shell 重新索引所有内容可能是个好主意

更新:

你可以使用这个n98-magerun模块来清理你的表。

或者按照以下说明手动操作。


为了扩展 Jim 的回答,Magento 支持在他们要求您的数据库副本时不需要这些表的内容,因此您可以认为它们不是必需的。

缓存表

core_cache
core_cache_tag

缓存数据是临时的。清除这些应该是安全的。

会话表

core_session

无需保留一年前的课程。将自动创建新会话(尽管它会导致人们退出/中断当前的结帐流程)。

数据流表

dataflow_batch_export
dataflow_batch_import

每次运行批处理时基本上都有日志,并不重要。

管理员日志

enterprise_logging_event
enterprise_logging_event_changes

这些是哪些管理员在后端做什么的日志。非常适合追踪“谁破坏了什么”,但不需要永远保留。您可以安全地截断这些。

专业提示:确保在系统 > 配置 > 高级 > 系统 > 管理员操作日志存档中清除旧记录

支持表

enterprise_support_backup
enterprise_support_backup_item

Magento 的支持历史,对您来说可能存在也可能不存在。

索引表

index_event
index_process_event

需要更新的索引条目的积压日志。但是,一旦过时,它们就不会删除自己。

日志表

log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online

日志数据,大部分未使用。但是,我已经看到“按浏览次数排序”模块使用该log_visitor_info表,所以要小心。

专业提示:确保您正在清理系统 > 配置 > 高级 > 系统 > 日志清理中的旧记录(这仅适用于访问者、客户和 url)

报告表

report_event
report_viewed_product_index

这些是可以在运行报告时重建的聚合表。


其他可以偶尔使用修剪的表是

报价表

sales_flat_quote
sales_flat_quote_address
sales_flat_quote_address_item
sales_flat_quote_item
sales_flat_quote_item_option
sales_flat_quote_payment
sales_flat_quote_shipping_rate

如果拥有 3 年前的废弃购物车数据对您来说并不重要,请考虑截断这些数据。请记住,当前的购物车在此处,因此请在非工作时间安排此操作或删除updated_at超过 X 天的行。

专业提示:安装Aoe_QuoteCleaner

暂存表

如果您使用 Enterprise 的暂存功能,您可能会开始看到带有s_前缀的表。一旦暂存站点被删除,这些就不会被清理。如果您的enterprise_staging表是空的,则不再需要这些表。

变更日志表

catalog_category_flat_cl
catalog_category_product_cat_cl
catalog_category_product_index_cl
catalog_product_flat_cl
catalog_product_index_price_cl
cataloginventory_stock_status_cl
catalogsearch_fulltext_cl
enterprise_url_rewrite_category_cl
enterprise_url_rewrite_product_cl
enterprise_url_rewrite_redirect_cl

Magento 引入了 MySQL 触发器,该触发器在某些表的数据被修改时写入更改日志表。稍后,调度程序索引器会拾取更改日志条目并更新项目。但是,完成后它不会清理。您可以不时清除这些。

类别和产品平面表

catalog_category_flat_store_1
catalog_category_flat_store_2
catalog_category_flat_store_3
catalog_category_flat_store_4
catalog_category_flat_store_5
catalog_category_flat_store_6
catalog_category_flat_store_7
catalog_product_flat_1
catalog_product_flat_2
catalog_product_flat_3
catalog_product_flat_4
catalog_product_flat_5
catalog_product_flat_6
catalog_product_flat_7

这些表我倾向于drop。重新索引后,他们将重新创建自己。在某些情况下,商店7可能不再存在,但您仍然拥有死板。

URL 重写表

在这里要小心,您可能不想截断所有这些。

core_url_rewrite
enterprise_url_rewrite

首先检查是否有任何记录is_system = 0。如果是这样,您不想截断,您将丢失自定义重定向。试试DELETE FROM core_url_rewrite WHERE is_system = 1吧。重新索引重写将用其余部分重新填充此表。

更多报告表

report_viewed_product_aggregated_daily
report_viewed_product_aggregated_monthly
report_viewed_product_aggregated_yearly

这些是聚合的,可以重建(如索引)。

于 2015-01-21T00:06:00.760 回答
28

当您使用 Magento 支持记录问题并且他们要求您提供数据库转储时,他们为您提供的脚本仅转储以下表格的架构:

core_cache
core_cache_option
core_cache_tag
core_session
dataflow_batch_export
dataflow_batch_import
enterprise_logging_event
enterprise_logging_event_changes
enterprise_support_backup
enterprise_support_backup_item
index_event
index_process_event
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
report_event
report_viewed_product_index

如果 Magento 支持不需要这些表的内容来解决问题,那么可以安全地假设它们可以被安全地截断。

catalog_product_flat_*catalog_category_flat_*表也可以被截断,因为重新索引将重新填充它们。

用户可以core_url_rewrite从后端手动将条目添加到表中,我不想保证具有相同 URL 键的两个产品 pr 类别在 truncating 后总是具有相同的 URL core_url_rewrite。这不是我能够安全截断的依赖。

于 2012-08-31T01:26:52.440 回答
2

我想添加到列表中,您还可以截断“catalogrule_product”和“catalogrule_product_price”。您可以通过在 Pormos > 目录规则中运行应用规则来重新生成它。我已经将这张表截断了好几次才知道它是安全的。注意!在您重新运行规则之前,您的所有目录规则价格都将从前端消失。

如果这些表格被清除,我也很想看看是否有人可以描述该网站会发生什么。例如,我假设删除 core_session(如果我们使用数据库来存储这些)将删除所有客户当前“登录”的会话,它还会删除客人的购物车吗?

于 2014-08-07T00:49:48.277 回答
0

我怀疑截断 ie admin_* 表是否有用。如果您遵循上面列出的唯一有价值的表格,就完成了。您将不得不再次添加管理员。

没有检查任何进一步的表。刚刚偶然发现了我安装的前 3 个表。

于 2012-11-25T18:40:59.927 回答