2012-03-06 71 views
0

我需要創建一個php批處理腳本,連接到多個Magento網站,並執行一些數據庫更新。他們都在同一個網絡服務器上運行。連接到多個Magento網站

我希望能夠創建一個單一的循環腳本,而不是多個腳本(每個網站一個)。但我也希望在php代碼中使用Magento Model(app/Mage.php等)。

如何控制Magento模型使用哪個網站/數據庫?

+0

這些網站是否使用單個數據庫的單個Magento安裝? – clockworkgeek 2012-03-09 14:13:06

+0

不,每個網站都有獨立的Magento安裝和數據庫。 – Eydun 2012-03-11 12:25:39

回答

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');

+0

是的,我也在考慮你的建議。但我認爲它沒有用。我想我還需要更改一些SERVER變量以在網站之間切換... – Eydun 2012-03-11 12:30:16