Chyba (No reference found) po smazání cache v Nette 2.1-dev

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Jan Tvrdík
Nette guru | 2595
+
0
-

V Nette Addons používáme Nette\Database ve verzi 2.1-dev. První načtení po smazání cache Nette\Database skončí vždy chybou.

Konkrétně titulní stránka Nette Addons skončí s

PDOException:
No reference found for $addons->name.
hrach
Člen | 1834
+
0
-

Po refreshi to funguje?

Jan Tvrdík
Nette guru | 2595
+
0
-

Ano. Zatím kvůli tomu při deploy nette addons nemažu automaticky temp. Vypadá to na problém s prvním použitím dané tabulky / sloupce. Tj. Smažu cache, přijdu na homepage → chyba, reload → ok. Přejdu na /packages.json → další chyba, reload → ok.

hrach
Člen | 1834
+
0
-

Jo, uz to na to jeden report predevcirem byl. Zkusim to z nej vymamit.

hrach
Člen | 1834
+
0
-

Nojo, to je chyba, ze jste zvykli na mysql. Muze za to fix pro postgre… ktere by vam toto nesezralo :D

Jan Tvrdík
Nette guru | 2595
+
0
-

@hrach: Mohl bys mi stručně vysvětlit, kde byl problém a co s tím má dočinění postgre? Jinak samozřejmě díky za opravu.

hrach
Člen | 1834
+
0
-

PostgreSQL ti nedovoli vybrat jine sloupce nez ty uvedene v group. A je mu uplne jedno, ze groupujes dle primarniho klice. Proste jakmile nemas nad sloupci mimo group agregacni funkci, tak ti sql neprojde. Proto do NDB bylo pridano, ze kdyz nespecifikujes select a pouzijes group, tak ni nette ty sloupce samo nadefinuje podle groupu. Coz ovsem lidi z mysql nemaji potrebu resit a zpusobuje to toto… → takze jsem toto chovani pro MySQL vypnuli.

Samozrejme tato automatika se nepouziva, kdyz mas ulozene pouzivane sloupce v cachi, proto to na druhy pokus uz proslo, ze se ulozil do cache pozadavek na tento select a cache sloupce se sami vybrali.