@@ -36,7 +36,7 @@ public function getConfigSchema(): Nette\Schema\Schema
3636 'user ' => Expect::string ()->nullable ()->dynamic (),
3737 'password ' => Expect::string ()->nullable ()->dynamic (),
3838 'options ' => Expect::array (),
39- 'debugger ' => Expect::bool (true ),
39+ 'debugger ' => Expect::bool (),
4040 'explain ' => Expect::bool (true ),
4141 'reflection ' => Expect::string (), // BC
4242 'conventions ' => Expect::string ('discovered ' ), // Nette\Database\Conventions\DiscoveredConventions
@@ -61,6 +61,24 @@ public function loadConfiguration()
6161 }
6262
6363
64+ public function beforeCompile ()
65+ {
66+ $ builder = $ this ->getContainerBuilder ();
67+
68+ foreach ($ this ->config as $ name => $ config ) {
69+ if ($ config ->debugger ?? $ builder ->getByType (\Tracy \BlueScreen::class)) {
70+ $ connection = $ builder ->getDefinition ($ this ->prefix ("$ name.connection " ));
71+ $ connection ->addSetup ('@Tracy\BlueScreen::addPanel ' , [
72+ [Nette \Bridges \DatabaseTracy \ConnectionPanel::class, 'renderException ' ],
73+ ]);
74+ if ($ this ->debugMode ) {
75+ $ connection ->addSetup ([Nette \Database \Helpers::class, 'createDebugPanel ' ], [$ connection , !empty ($ config ->explain ), $ name ]);
76+ }
77+ }
78+ }
79+ }
80+
81+
6482 private function setupDatabase (\stdClass $ config , string $ name ): void
6583 {
6684 $ builder = $ this ->getContainerBuilder ();
@@ -113,15 +131,6 @@ private function setupDatabase(\stdClass $config, string $name): void
113131 ->setFactory (Nette \Database \Context::class, [$ connection , $ structure , $ conventions ])
114132 ->setAutowired ($ config ->autowired );
115133
116- if ($ config ->debugger ) {
117- $ connection ->addSetup ('@Tracy\BlueScreen::addPanel ' , [
118- [Nette \Bridges \DatabaseTracy \ConnectionPanel::class, 'renderException ' ],
119- ]);
120- if ($ this ->debugMode ) {
121- $ connection ->addSetup ([Nette \Database \Helpers::class, 'createDebugPanel ' ], [$ connection , !empty ($ config ->explain ), $ name ]);
122- }
123- }
124-
125134 if ($ this ->name === 'database ' ) {
126135 $ builder ->addAlias ($ this ->prefix ($ name ), $ this ->prefix ("$ name.connection " ));
127136 $ builder ->addAlias ("nette.database. $ name " , $ this ->prefix ($ name ));
0 commit comments