1

如果有的话,将 Magento 升级到新版本的事实标准方法是什么。

我知道有很多变数在起作用。但肯定必须有一套必须遵循的标准步骤。

到目前为止,我认为它是这样的:

Create a mirror of the site
Disable all 3rd party modules
Do the upgrade
Fix any issues
Enable 3rd party modules
Fix any issues

但是我很想听听其他经历过这个过程并且有经验在这里做什么的人,因为那里有很多相互矛盾的信息。

4

1 回答 1

0

我们的数据库大约有 10 个演出,我们有大约 800,000 种“产品”(其中许多实际上是捆绑产品中的选项,但在大多数情况下相当于相同的东西)。所以这对你来说可能不是必需的......几周前我们从 1.9 升级到了 1.12。我进行了无数次彩排,在此过程中我不得不修复不良数据。

  1. 确保您是唯一能够访问服务器的人。例如让 apache 监听一个奇怪的端口。
  2. 我们从 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. 

然后运行你的索引器。

于 2012-11-16T00:48:07.103 回答