Mararok/SymfonyModularMonolith

Problem z uruchomieniem

Closed this issue · 2 comments

Witam. Zainteresowało mnie podejście do tematu i chciałem sobie uruchomić projekt lokalnie. Niestety napotkałem problem przy połączeniu do bazy danych. Przy próbie wykonania polecenia do utworzenia bazy:

php bin/console app:account:doctrine:create --account-id 1

Zwracany jest błąd:

Connection does not contain a 'path' or 'dbname' parameter and cannot be created.

Mimo, że baza jest dostępna (podłączyłem się do niej przez phpmyadmina jak i bez DBeavera). W .env wbity jest url connection do bazy jednak jakby w ogóle nie było to widoczne. Próbowałem też pogrzebać w ModularDoctrineConfigLoader (bo są tam na sztywno wbite też dane do bazy) jednak żadne zmiany nie są widoczne przez system.
Czy trzeba coś gdzieś jeszcze dodać/zmodyfikować?

Dziwne wygląda jakby dla tego połączenia 'account' było wymagane ustawienie początkowego dbname.
A composera robiłeś 'install' czy update - tam w którejś nowszej wersji doctrina były jakieś problemy.
Ustawienia połączenia do bazy konta są zaszyte w https://github.com/Mararok/SymfonyModularMonolith/blob/master/src/Core/Account/Doctrine/AccountConnectionParamsProvider.php
i używane potem w https://github.com/Mararok/SymfonyModularMonolith/blob/master/src/Core/Account/Doctrine/DoctrineAccountContextService.php
Do tego właśnie jest też klasa rozszerzająca Connection o dynamiczną zmianę bazy https://github.com/Mararok/SymfonyModularMonolith/blob/master/src/Core/Doctrine/DynamicConnection.php

Ogólnie to na bazie tego przykładu rozwijam jeden projekt i nie miałem czasu tutaj wrzucić wszystkich usprawnień. Postaram się to wrzucić tu jak najszybciej.

Poradziłem sobie w inny sposób. Motyw z "account" uznałem za nieprzydatny w moim przypadku więc utworzyłem całą konfigurację i strukturę od początku posiłkując się Twoimi rozwiązaniami ale pomijając kwestię "account".

BTW: w src/Kernel.php w metodzie configureRoutes jest błąd w linijkach z importem routingów - nadmiarowy drugi parametr o wartości '/'. Nie rzuca wyjątków ale nie ładuje routingów przez to ;) Mogę wrzucić PR jeśli jesteś zainteresowany rozwojem tego repo.

Zamykam wątek.