我们的数据库大约有 10 个演出,我们有大约 800,000 种“产品”(其中许多实际上是捆绑产品中的选项,但在大多数情况下相当于相同的东西)。所以这对你来说可能不是必需的......几周前我们从 1.9 升级到了 1.12。我进行了无数次彩排,在此过程中我不得不修复不良数据。
- 确保您是唯一能够访问服务器的人。例如让 apache 监听一个奇怪的端口。
- 我们从 1.9 升级到 1.12 大约需要 3.5 小时,因此请相应地延长您的超时时间。
我不得不修改一些核心文件来关闭唯一和外键检查。您应该能够通过修改 config.xml 或 local.xml 来做到这一点,但这对我们不起作用。
./app/code/core/Mage/Core/Model/Resource/Type/Db/Pdo/Mysql.php:
$configArr['initStatements'] = 'SET NAMES utf8; SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0;';
./app/code/core/Mage/Core/Model/Resource/Type/Db/Mysqli.php:
$configArr['initStatements'] = 'SET NAMES utf8; SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0;';
./app/code/core/Mage/Core/Model/Resource.php:
$config['initStatements'] = 'SET NAMES utf8; SET FOREIGN_KEY_CHECKS=0; SET UNIQUE_CHECKS=0;';
我需要运行的数据库查询
-- Log tables to truncate
truncate log_url;
truncate log_url_info;
truncate log_visitor;
truncate log_visitor_info;
truncate log_visitor_online;
-- Truncate other large unnecessary tables
truncate op_imagecdn_cache;
truncate core_session;
truncate report_viewed_product_index;
truncate report_compared_product_index;
truncate core_cache;
truncate core_cache_tag;
-- Delete old quotes
DELETE FROM sales_flat_quote WHERE updated_at < DATE_SUB(Now(),INTERVAL 60 DAY);
truncate core_url_rewrite; -- You may not want to do this. We had 2.5 million entries...
truncate report_event;
truncate index_process_event;
truncate index_event;
truncate amazonpayments_api_debug;
-- drop all flat category and flat product tables
drop table catalog_category_flat_store_1; -- etc.
drop table catalog_product_flat_1; --etc.
然后运行你的索引器。