EDIT: He vuelto a leer su pregunta, y no estoy seguro si cubrí completamente lo que está preguntando. Sin embargo, la información se aplica un poco, así que la dejo aquí. Sin embargo, creo que su pregunta es sobre las mejores prácticas para agregar atributos a las entidades existentes. Específicamente en ese punto, es perfectamente aceptable usar recursos de configuración para agregar atributos a elementos, EAV u otros. Puede usar funciones como Mage_Eav_Model_Entity_Setup::addAttribute()
para este fin, o usar Mage_Core_Model_Resource_Setup::run()
para modificar tablas con consultas SQL según sea necesario.
Respuesta original:
Es posible utilizar varios recursos dentro del mismo módulo, por lo que este debe ser suficiente para hacer lo que está pidiendo.
De hecho, es bastante sencillo, solo defina dos recursos de configuración y Magento ejecutará ambos.
en su config.xml:
<config>
...
<global>
...
<resources>
<!-- Resource 1 -->
<mymodule_setup>
<setup>
<module>MyCompany_MyModule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule_setup>
<mymodule_write>
<connection>
<use>core_write</use>
</connection>
</mymodule_write>
<mymodule_read>
<connection>
<use>core_read</use>
</connection>
</mymodule_read>
<!-- Resource 2 -->
<mymodule2_setup>
<setup>
<module>MyCompany_MyModule</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</mymodule2_setup>
<mymodule2_write>
<connection>
<use>core_write</use>
</connection>
</mymodule2_write>
<mymodule2_read>
<connection>
<use>core_read</use>
</connection>
</mymodule2_read>
</resources>
...
</global>
...
</config>
Luego incluyen la instalación necesaria/ficheros actualizados en el app/code/local/MyCompany/MyModule/sql/mymodule_setup
y app/code/local/MyCompany/MyModule/sql/mymodule2_setup
Usted puede incluso añadir sus propias funciones para el instalador mediante la extensión del modelo de configuración. Esto se hace mediante la adición de una etiqueta de clase a:
<resources>
<mymodule2_setup>
<setup>
así:
<class>MyCompany_MyModule_Entity_Setup</class>
y crear un archivo en app/code/local/MyCompany/MyModule/Entity/Setup.php
que tiene este aspecto:
<?php
class MyCompany_MyModule_Entity_Setup extends Mage_Eav_Model_Entity_Setup
{
}
Así como sospechabas, vas a necesitar ampliar Mage_Core_Model_Resource_Setup o Mage_Eav_Model_Entity_Setup (eav)
Esto me ha mordido muchas veces. ¡Siempre asegúrese de estar usando el modelo de recurso correcto para el tipo de entidad al que está agregando! –