我需要创建一个php批处理脚本,它连接到多个Magento网站,并执行一些数据库更新。它们都在同一个网络服务器上运行。
我希望能够创建一个单独的循环脚本,而不是多个脚本(每个网站一个)。但我也希望在PHP代码中使用Magento模型(app / Mage.php等)。
如何控制Magento模型使用的网站/数据库?
答案 0 :(得分:1)
您可以编写一个循环遍历所有magento安装的脚本,包括他们的Mage.php并获取数据库处理程序来运行您的查询。 像这样:
<?php
$mySql = 'UPDATE ... WHERE ...;';
$magentos = array('/web/magento1/', '/web/magento2/');
foreach ($magentos as $m) {
require_once($m.'app/Mage.php');
Mage::app('default');
Mage::getSingleton('core/resource')->getConnection('core_write')->query($mySql);
}
也许你还在你的sql周围添加一个事务并输出你的查询结果,以确保一切按预期工作。 要控制使用哪个网站,请将网站添加到您的阵列并更改Mage :: app('default');