Wpis z mikrobloga

Hej Mirasy.
Mam problem z konfiguracją w Symfony 4.
Potrzebuję nadpisać dbname dla connection default zdefiniowanego w config/packages/doctrine.yaml
Wrzucam je do config/packages/test/doctrine.yaml i nie nadpisuje mi jej przy odpaleniu środowiska testowego, niezależnie czy jest dodane jako doctrine:dbal:dbname czy doctrine:dbal:connections:default:dbname. Zastanawiam się czy to bug czy robię coś nie tak. W przypadku poprzednich wersji SF z config_test.yml to działało.

Dodam, że działa mi to "dobrze" jeśli zdefiniuję dodatkowe connection "test" w config/packages/doctrine.yaml i wtedy w config/packages/test/doctrine.yaml mogę nadpisać doctrine:dbal:default_connection:test. No ale w przypadku definiowania wielu połączeń chciałbym mieć możliwość nadpisania fragmentu ich konfiguracji dla środowiska testowego, bez pełnego definiowania nowych połączeń testowych i zaśmiecania pliku konfiguracyjnego doctrine ze środowiska dev czy produkcji.

Ktoś coś?

#symfony #symfony2 #symfony3 #symfony4
  • 10
@Klopsztanga: parameters.yml były w poprzednich wersjach.
Od SF4 nie jest zalecane użycie tego pliku konfiguracyjnego. Poza tym yml jest zastąpiony przez yaml, a test.yml czy dev.yml przez odpowiedni katalog w packages.
Twoje rozwiązanie wydaje się mało eleganckie, szczególnie jeśli aplikacja korzysta z wielu połączeń i trzeba grzebać w kilku plikach konfiguracyjnych aby coś znaleźć i zmienić.
Tak czy inaczej, dzięki za propozycję rozwiązania.
@Klopsztanga: tak by było najlepiej, zgodnie z oficjalnymi zaleceniami. Ale nie mogę znaleźć info jak zadeklarować więcej niż jedno połączenie DATABASE_URL. Masz jakiś pomysł?
@Klopsztanga: dobra, mam chyba akceptowalne rozwiązanie.
Można tworzyć własne parametry w .env i ładować je za pomocą env(NAZWA) bezpośrednio do packages/test/doctrine.yaml
Dzięki za pomoc.