我需要创建一个php批处理脚本,连接到多个Magento网站,并执行一些数据库更新。他们都在同一个网络服务器上运行。连接到多个Magento网站
我希望能够创建一个单一的循环脚本,而不是多个脚本(每个网站一个)。但我也希望在php代码中使用Magento Model(app/Mage.php等)。
如何控制Magento模型使用哪个网站/数据库?
我需要创建一个php批处理脚本,连接到多个Magento网站,并执行一些数据库更新。他们都在同一个网络服务器上运行。连接到多个Magento网站
我希望能够创建一个单一的循环脚本,而不是多个脚本(每个网站一个)。但我也希望在php代码中使用Magento Model(app/Mage.php等)。
如何控制Magento模型使用哪个网站/数据库?
你可以编写一个脚本,它循环遍历你所有的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');
是的,我也在考虑你的建议。但我认为它没有用。我想我还需要更改一些SERVER变量以在网站之间切换... – Eydun 2012-03-11 12:30:16
这些网站是否使用单个数据库的单个Magento安装? – clockworkgeek 2012-03-09 14:13:06
不,每个网站都有独立的Magento安装和数据库。 – Eydun 2012-03-11 12:25:39