Pregunta

Version corta: ¿Es posible crear una base de datos a partir de un script de configuración?

Versión larga: He configurado un módulo que crea su propia conexión de recursos de la base de datos para almacenar información en una base de datos independiente de la instalación principal de Magento. También tengo los scripts de migración configurados para generar las tablas. ¿Es posible usar este script de migración para intentar crear la base de datos si no existe?

He intentado jugar un poco, pero tan pronto como llamo startSetup, Obtengo una base de datos que no se encuentra con excepción. En realidad, no puedo encontrar dónde se usa el DBName. Puedo ver que se pasa al constructor cuando se crea el adaptador, pero parece que no pude encontrar dónde se usa.

¿Fue útil?

Solución

Bueno, parece que he encontrado una solución pasable.

// 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();
Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top