在Magento中安全截断的表列表?

21 mysql sql truncate magento magento-1

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

我有几个但想知道是否还有更多:

    core_url_rewrite # Only safe if no custom rewrites are in place
    catalog_product_flat_1
    catalog_product_flat_# (# depends on the multistore)
    log_customer
    log_quote
    log_summary
    log_summary_type
    log_url
    log_url_info
    log_visitor
    log_visitor_info
    log_visitor_online
Run Code Online (Sandbox Code Playgroud)

Ste*_*ins 45

在你做任何事之前

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

更新:

您可以使用n98-magerun模块清理表格.

或者按照以下说明手动完成.


为了扩展Jim的答案,Magento Support在要求提供数据库副本时不需要这些表的内容,因此您可以认为它们不是必需的.

缓存表

core_cache
core_cache_tag
Run Code Online (Sandbox Code Playgroud)

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

会话表

core_session
Run Code Online (Sandbox Code Playgroud)

无需保持一年的会话.将自动创建新会话(但会导致人们退出/打破当前的结帐流程).

数据流表

dataflow_batch_export
dataflow_batch_import
Run Code Online (Sandbox Code Playgroud)

每次运行批次时基本上都有日志,而不是关键.

管理日志

enterprise_logging_event
enterprise_logging_event_changes
Run Code Online (Sandbox Code Playgroud)

这些是管理员在后端执行操作的日志.非常适合追踪"谁破坏了什么",但不需要永远保存.你可以安全地截断这些.

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

支持表

enterprise_support_backup
enterprise_support_backup_item
Run Code Online (Sandbox Code Playgroud)

Magento的支持历史,可能存在也可能不存在.

索引表

index_event
index_process_event
Run Code Online (Sandbox Code Playgroud)

需要更新的索引条目的后退日志.但是,一旦它们过时,它们就不会删除它们.

记录表

log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
Run Code Online (Sandbox Code Playgroud)

记录数据,大部分未使用.但是,我看到"Sort by Most Viewed"模块使用log_visitor_info表格,所以要小心.

专业提示:确保在系统>配置>高级>系统>日志清理中清除旧记录(这仅限访问者,客户和网址)

报告表

report_event
report_viewed_product_index
Run Code Online (Sandbox Code Playgroud)

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


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

报价表

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
Run Code Online (Sandbox Code Playgroud)

如果有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
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

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

URL重写表

这里要小心,你可能不想截断所有这些.

core_url_rewrite
enterprise_url_rewrite
Run Code Online (Sandbox Code Playgroud)

首先检查是否有任何记录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
Run Code Online (Sandbox Code Playgroud)

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

  • 我为此编写了一个“n98-magerun”模块 https://github.com/steverobbins/Magerun-DBClean (2认同)

Jim*_*ran 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
Run Code Online (Sandbox Code Playgroud)

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

catalog_product_flat_*表和catalog_category_flat_*表也被截断为重建索引将重新填充它们.

用户可以core_url_rewrite从后端手动向表中添加条目,我不希望保证两个具有相同URL密钥的产品在截断后始终具有相同的URL core_url_rewrite.这不是我依靠能够安全截断的.