En Magento 2, uno de los archivos de configuración XML que puede tener un módulo es el resources.xml
archivo. Por ejemplo, el módulo de ventas tiene uno
#File: vendor/magento/module-sales/etc/resources.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/resources.xsd">
<resource name="sales_setup" extends="core_setup" />
<resource name="sales" extends="core" />
</config>
¿Alguien sabe para qué se utilizan estos archivos en Magento 2? Parecen ser el antiguo <resources/>
nodo de nivel superior de Magento 1 . Sin embargo, desde Magento ya no utiliza el programa de instalación de recursos Modelo / Migraciones (en lugar de Magento 2 clases de usos en Setup/InstallSchema.php
, Setup/InstallData.php
, Setup/UpgradeSchema.php
, Setup/UpgradeData.php
para la instalación / migración como guiones), no es 100% claro lo que el sales_setup
recurso es para.
Para el recurso no configurado, ¿es esta otra forma de agregar una clase de conexión de base de datos con diferentes credenciales / información de cadena de conexión? ¿O algo mas?
vendor\magento\framework\App\etc\resources.xsd"(4,41)
? se puede dar alguna ideaRespuestas:
Creo que los recursos están relacionados con la conexión real de la base de datos. M1 en el pasado tenía algo como esto:
entonces diría que el archivo de recursos es el sucesor de la conexión.
No estoy seguro de que el nodo _setup proporcione mucho valor por encima de la otra línea ya que tenemos este código en
lib / internal / Magento / Framework / App / ResourceConnection / Config.php
y también en setup / src / Magento / Setup / Module / Setup / ResourceConfig.php
Eché un vistazo rápido a algunos de los módulos empresariales para ver si eso arroja más luz sobre el uso del
resources.xml
archivo (ya que múltiples dbs aparentemente es una característica de M2 Enterprise), pero el único uso que he encontrado hasta ahora también solo se extiende decore
.Mi presentimiento es que uno necesitaría crear conexiones db adicionales en las
app/etc/env.php
que luego le permita usar esos valores para anular los que se envían en losresource.xml
archivos predeterminados (es decir, solo la 1 conexión predeterminada).fuente