dibi v Tracy 2.3.0 nezobrazuje dotazy

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

Ahoj,
aktuální verze nette + tracy (2.3.0) mi přestala zobrazovat provedené dotazy přes dibi.

V config.neon mám přidáno

tracy:
	bar:
		 - Dibi\Bridges\Tracy\Panel

V baru se mi pak zobrazi bar pro dibi avšak je tam stále 0 dotazů

Editoval sikulam (2. 3. 2015 18:50)

sikulam
Člen | 12
+
0
-

Fórum jsem si samozřejme prošel a to co je v odkaze jsem zkoušel avšak i tak se nepovedlo rozchodit. V předchozí verzi jsem to měl takto použito a fungovalo, ale v 2.3.0 to již nefunguje

Editoval sikulam (3. 3. 2015 16:32)

tobice
Člen | 30
+
0
-

Mám ten samý problém. V Nette 2.2 vše bez problémů, v Nette 2.3 Dibi zmizelo z debugbaru a nevím, jak ho dostat zpět. Dibi je samozřejmě správně zaregistrováno v DI.

Editoval tobice (5. 3. 2015 14:11)

Jan Tvrdík
Nette guru | 2595
+
0
-

Podstatné není, zda je v DI, ale zda je nainstalované přes extension.

tobice
Člen | 30
+
0
-

Okej, tak jste měl pravdu. Zaregistroval jsem to přes extensionu a už to jede. U nás to bylo ještě komplikované tím, že využíváme několik paralelních připojení k různým databázím. Každopádně je zajímavé, že v Nette 2.2 to fungovalo i bez extensiony (natvrdo inicializovaná \DibiConnection instance v DI kontejneru). Došlo někde k nějakým změnám?

mancze
Člen | 58
+
+1
-

Protože jsem zrovna řešil tu stejnou věc, rád bych tu uvedl poněkud obsáhlejší odpověď a nakonec přidal mé řešení, které nepoužívá extensions. I když je poněkud krkolomné. Oproti použití extensions ale uvidíte profilery vždy ve stejném pořadí. (Jinak se mi zdálo, že záleží na tom, kdy je ke službě přistupováno a tedy kdy je nainstalována.)

# budeme používat třidy Dibi\Bridges\Tracy\Panel
# ta se musí vytvořit a zavolat na ni register($connection)
services:
	# konfigurace samotného připojení (vč. pojmenování pro přehlednost)
	mysql.connection: DibiConnection(%mysql%, "mysql")
	postgre.connection: DibiConnection(%postgre%, "postgre")

	# profiler panely jako služby, bez toho nevím, jak by se to dělalo
	mysql.panel: Dibi\Bridges\Tracy\Panel
	postgre.panel: Dibi\Bridges\Tracy\Panel

	tracy.bar:
		setup:
			# umístěno sem, čímž je zajištěno pevné vzájemné pořadí
			- @mysql.panel::register(@mysql.connection)
			- @postgre.panel::register(@postgre.connection)

S Nette nepracuji pravidelně a vývoj sleduji jen bokem. A na tohle jsem narazil zrovna když jsem migroval ze starší verze 2.0 na 2.3 Měl jsem velký problém se zorientovat a věci rozchodit.