Co je DiscoveryReflection?
- josef.sabl
- Člen | 153
Zde
https://forum.nette.org/…-predstaveni?p=2
Se píše o DiscoveryReflection, ale nejsem schopen nikde najít, co to je.
Díky
Editoval josef.sabl (12. 12. 2011 17:59)
- klip
- Člen | 11
Jen poznámka: právě si jako Nette nováček hraju se
sandboxem a protože se v config.neon v nové verzi nastavuje implementace
reflexe DiscoveryReflection, tak sem asi hodinu řešil, proč
Nette\Connection\Database volá dotaz: EXPLAIN users
, když
v PostgreSQL se takhle metadata nezjišťujou, a jaktože mi to dřív
fungovalo.
Nakonec sem si všiml právě nastavení v config.neon – je u mě trochu
nešťastně za hranicí okna IDE, protože je řádek přiliš dlouhý.
Viz https://github.com/…5974da37de20#…
Změnil sem si to tedy na ConventionalReflection() a arguments sem si rozložil na více řádků, aby to bylo přehlednější:
database:
class: Nette\Database\Connection
arguments: ['%database.driver%:host=%database.host%;dbname=%database.dbname%',
%database.user%, %database.password%, ...,
Nette\Database\Reflection\ConventionalReflection()]
Takhle mi to na PostgreSQL zase funguje.
A jeden tip na zdroj pro případné zvědavce, kteří se chtějí dozvědět, jak získávat meta informace z PostgreSQL databáze: http://www.alberton.info/…ta_info.html
Editoval klip (22. 12. 2011 1:27)
- David Grudl
- Nette Core | 8218
Díky, řádek jsem upravil. Reflexe se bude zjišťovat na úrovni driveru, takže bude fungovat i pro PostgreSQL. Budu rád, když to potom otestuješ.