Jde zakázat mapování struktiry db s každým requestem?

neznamy_uzivatel
Člen | 115
+
0
-

Ahoj,
po aktualizaci nette 2.3 na nette 2.4 dochází při každém http requestu k mapování struktury databáze přes information_schemna (dost tabulek, cca 5 sec každý request).

Pravděpodobně je to nějakou mojí chybou při aktualizaci, jen nemám tušení jakou :D
Děje se to i v production režimu i když je všechno logování vypnuté.
I v production se přegeneruje temp/cache/_Nette.Database.Structure.xxxxxxxxxxxx i když zavolám setDebugMode(false) (s každým requestem se změní čas souboru a to i když aplikace běží na produkčním serveru pod devxxx.x---x.cz)

Asi nemá moc smysl hledat moji chybu, jde stejne o mezikrok v refaktoringu, jezož cíl je v nette 3 – dá se to nějak ručně zakázat?

CZechBoY
Člen | 3608
+
0
-

5s kazdy request? To jsi v pohode :) ja pamatuju ze mi prvotni nacachovani trvalo okolo pul hodiny :D

Jinak zkus vydebugovat proc se nehitne cache, treba ti to odhali nejaky problem u tebe nebo v nastaveni.

neznamy_uzivatel
Člen | 115
+
0
-

Už jsem z toho docela v pasti :) :D
Tak ještě jednou zkouším, jestli někdo neví, jak to přegenerovávání cache úplně zakázat, nechce se mi to downgradovat zpět na 2.3…

Zkouším laborovat s Nette\Database\Structure needStructure / loadStructure a s Nette\Caching\cache load a moc chytrý z toho nejsem.
Zkoušel sjem si to tam (cache->load) různě dupmovat stylem if($key === 'structure') var_dump($data)... Ty data tam jsou, fallback je pole 2 prvků, vypadá správně, ale přesto následující podmínka if ($data === null && $fallback) neudělá co má a pustí volání na přegenerování cache.
Už si připadám, že tam úplně náhodně dumpuju blbosti..

F.Vesely
Člen | 368
+
+1
-

Pises, ze ta data tam jsou, ale projde podminka na $data === null? To se mi moc nezda. Spise debuguj FileStorage::read(), proc vraci null. Taky bych doporucoval debugovat XDebugem a ne var_dump, pekne tam uvidis, co je v jake promme a jaky kus kodu se provadi.