在Magento实时商店上运行数据库更新?

时间:2011-09-03 13:12:59

标签: mysql database magento-1.5 locks

最近我一直在问几个问题,想知道如何更改我们的Magento商店的产品代码。

答案是在phpmyadmin中运行此命令:

UPDATE `catalog_product_entity` SET `sku` =  RIGHT(CONCAT('00000000', sku), 8)

它运作良好,改变了我们的所有产品代码:

63
3433
432
42342343

为:

00000063
00003433
00000432
42342343

问题是;每次我运行该命令时它都会正确地更改产品代码 - 但所有产品都是404'。然后我刷新了指数并发现它们被锁定了。我收到以下错误:

Cannot initialize the indexer process.

所以我通过SSH运行以下命令:

rm -rf downloader/pearlib/cache/*
rm -rf downloader/pearlib/download/*
rm -rf var/cache/*
rm -rf var/session/*
rm -rf var/report/*
rm -rf var/tmp/*
rm -rf var/locks/*

但索引进程仍然无法运行。我现在已经完全弄乱了数据库,我正在等待支持技术人员尝试解决问题。我可能会在运行SQL命令之前从备份中恢复数据库。

我正在尝试研究如何运行此SQL命令而不会弄乱Magento(1.5)锁等,以便产品不会404。

1 个答案:

答案 0 :(得分:0)

好的,答案很简单。

  1. 禁用所有缓存选项
  2. 重新索引指数。
  3. 运行SQL命令。
  4. 重新索引指数。
  5. 刷新然后重新启用缓存
  6. 希望将来帮助别人!