Создайте новую базу данных
Вопрос
Укороченная версия: Можно ли создать базу данных из сценария настройки?
Длинная версия: Я настроил модуль, который создает собственное подключение к ресурсу базы данных для хранения информации в базе данных, независимой от основной установки Magento. Я также получил настройку миграционных сценариев для создания таблиц. Возможно ли использовать этот сценарий миграции, чтобы попытаться создать базу данных, если ее не существует?
Я пытался немного поиграть, но как только я звоню startSetup
, Я получаю базу данных, не найденную исключением. Я на самом деле не могу найти, где на самом деле используется dbname. Я вижу, что он попадает в конструктор, когда адаптер создается, но, похоже, не смог найти, где он используется.
Решение
Ну, кажется, я нашел сносное решение.
// first use the main database connection to create the external database
$write = Mage::getSingleton('core/resource')->getConnection('core_write');
$write->query('CREATE DATABASE IF NOT EXISTS external_db_name');
// then call startSetup, which will now be able to connect to the external database
// and allow us to create our tables
$installer = $this;
$installer->startSetup();