找到这段可爱的sql查询代码,以排除magento上的多个图像。
UPDATE catalog_product_entity_media_gallery_value SET disabled = 0;
UPDATE catalog_product_entity_media_gallery_value AS mgv,
(SELECT entity_id, COUNT(*) as image_count, MAX(value_id) AS value_id
FROM catalog_product_entity_media_gallery AS mg
GROUP BY entity_id
HAVING image_count = 2) AS mg
SET mgv.disabled = 1
WHERE mgv.value_id = mg.value_id
我希望将此运行作为cron作业,而不是直接使用数据库,但不知道如何将其作为一个编写。
这可以成为一个cron工作吗?
请指出正确的方向。
答案 0 :(得分:0)
使用大多数数据库附带的命令行工具,您可以使用mysql将这些语句包装在脚本中,如下所示
/path/to/mysql --whateverparametersyouneed yourdb << HERE
UPDATE catalog_product_entity_media_gallery_value SET disabled = 0;
UPDATE catalog_product_entity_media_gallery_value AS mgv,
(SELECT entity_id, COUNT(*) as image_count, MAX(value_id) AS value_id
FROM catalog_product_entity_media_gallery AS mg
GROUP BY entity_id
HAVING image_count = 2) AS mg
SET mgv.disabled = 1
WHERE mgv.value_id = mg.value_id;
HERE
这称为here-document,有关详细信息,请参阅How can I write a here doc to a file in Bash script?。
然后,只需从cron调用该脚本。