Подключение к нескольким веб-сайтам Magento - PullRequest
0 голосов
/ 06 марта 2012

Мне нужно создать пакетный скрипт php, который подключается к нескольким веб-сайтам Magento, и выполнить некоторые обновления базы данных. Все они работают на одном веб-сервере.

Я надеюсь, что смогу создать один сценарий зацикливания вместо нескольких сценариев (по одному для каждого веб-сайта). Но я также надеюсь использовать модель Magento в коде php (app / Mage.php и т. Д.).

Как контролировать, какой веб-сайт / база данных использует модель Magento?

1 Ответ

1 голос
/ 11 марта 2012

Вы можете написать скрипт, который будет циклически перебирать все ваши установки 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');

...