dwa linki:
https://github.com/gyman/apphttps://github.com/UirapuruDende/MultidatabaseBundlenie mam zbyt wiele czasu, wiec naprędce napisze tylko; po pierwsze to wszystko sie nadal tworzy, jest brzydkie i uzywane tylko przeze mnie

multidatabase bundle dostarcza kilka rzeczy:
1) klasę connection wrapper, której używam w configu doctrine w gyman/app.
2) dostarcza też listener dla "command" - są commandy doctrinowe (schema, fixtury), które musisz wykonać na pewnej konkretnej bazie - listener do wskazanych commandów dodaje parametr, według którego możesz wyłapać sobie interesujacą Cię baze i przeprowadzić na niej operacje. jesli tego nie zrobisz - zadziała jak zwykle na podstawowej. potrzebne do tego rzeczy również w config.yml w gyman/app siedzą
bundle wymaga by dostarczyc mu serwis, który dostarczy tzw. Tenanta. W moim przypadku (w gyman/app) jest request listener, który odczytuje subdomene i na jej podstawie tworzy tenanta i przekazuje go do multidatabase bundle, który przełącza na podstawie tych danych connection. Nie widze problemu, by napisać własną klasę, która te dane pobierze np. z encji usera, czy innego miejsca.
generalnie zasada działania jest prosta. pozostało mi otestować, uporządkować, odokumentować i dodać może coś co pozwoli hurtowo przelecieć wszystkie bazy tą samą operacją (np. migracją).
do testów też warto mieć to rozwiązane tak, by test sie uruchamiał na odpowiednich ustawieniach (tak w moim wypadku jest, testy gyman/app lecą na "drugim" połączeniu zafiksowanym w config_test.yml na sqlite).