Neon, dibi, modelLoader a připojení k databázi podle konfigurace z centrální databáze

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Spock
Člen | 8
+
0
-

Ahoj,

jde mi především o to, zda je popsané řešení korektní:

Mám centrální databázi s konfiguracemi. Odtud si chci načíst údaje k připojení k „local“(!= localhost) databázi a následně vytvořit druhé připojení podle získané konfigurace.

V config.neon mám přístupy k centrální db a v modelLoaderu bych chtěl načíst údaje pro připojení k další databázi (podle umístění index.php) a přidat service pro komunikaci právě s ní.
Tzn: budu mít service pro centrální db a servise pro „local“.

Je korektní řešit tuto logiku v modelLoaderu?

(v příkladu jsem jednoduše vytvořil 2 stejné service a u jedné jen přepnul db pomocí ‚USE localDb‘, místo toho by mělo jít o vytvoření nového containeru s parametry pro dibi)

	public function __construct(Container $container)
	{
		$modelContainer = new Container;
		$container->projectDatabase->nativeQuery('USE localDb;');
		$modelContainer->addService('database', $container->localDatabase);
		$modelContainer->addService('centralDatabase', $container->centralDatabase);
		$modelContainer->freeze();
		$this->modelContainer = $modelContainer;
	}

Děkuji za rady a případné nasměrování správnou cestou.