W Magento 2 jednym z plików konfiguracyjnych XML modułu może być resources.xml
plik. Na przykład moduł sprzedaży ma jeden
#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>
Czy ktoś wie, do czego służą te pliki w Magento 2? Wyglądają na stary <resources/>
węzeł najwyższego poziomu Magento 1 . Jednakże, ponieważ Magento nie używa konfiguracji zasobów modelu / Migracje (zamiast Magento 2 wykorzystuje zajęcia w Setup/InstallSchema.php
, Setup/InstallData.php
, Setup/UpgradeSchema.php
, Setup/UpgradeData.php
do zainstalowania / migracja-jak skrypty), to nie 100% jasne, co sales_setup
zasób jest za.
Czy w przypadku zasobu nieinstalacyjnego jest to tylko kolejny sposób dodania klasy połączenia z bazą danych z różnymi informacjami dotyczącymi poświadczeń / parametrów połączenia? Albo coś innego?
vendor\magento\framework\App\etc\resources.xsd"(4,41)
. może dać jakiś pomysłOdpowiedzi:
Myślę, że zasoby odnoszą się do faktycznego połączenia z bazą danych. M1 w przeszłości miał coś takiego:
więc powiedziałbym, że plik zasobów jest następcą tego połączenia.
Nie jestem pewien, czy węzeł _setup zapewnia dużo więcej wartości niż drugi wiersz, ponieważ mamy ten kod
lib / internal / Magento / Framework / App / ResourceConnection / Config.php
a także w setup / src / Magento / Setup / Module / Setup / ResourceConfig.php
Rzuciłem okiem na niektóre moduły korporacyjne, aby zobaczyć, czy to rzuci więcej światła na wykorzystanie
resources.xml
pliku (ponieważ wiele dbs jest najwyraźniej funkcją M2 Enterprise), ale jedyne zastosowanie, które do tej pory spotkałem, również rozszerza zcore
.Mam przeczucie, że trzeba by utworzyć dodatkowe połączenia db, w
app/etc/env.php
których następnie można użyć tych wartości, aby zastąpić te dostarczone w domyślnychresource.xml
plikach (tj. Tylko 1 domyślne połączenie).źródło