Problém s cache v Nette\Database

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

Chyba se projevuje touto výjimkou. Na localhostu i na serveru je výjimka stejná, ale určitý rozdíl tam je.

localhost:

  1. Smažu všechen obsah /temp/cache
  2. V prohlížeči zobrazím stránku – stránka se zobrazí
  3. F5 – výše uvedená výjimka
  4. F5 – vše opět funguje

server:

  1. Smažu všechen obsah /temp/cache
  2. V prohlížeči zobrazím stránku – stránka se zobrazí
  3. F5 – stránka je neúplná, v logu se objeví výše uvedená výjimka
  4. F5 – problém narozdíl od localhostu nezmizí, stále neúplná stránka a výjimka

Chyba je zřejmě v práci s cache. Když jsem jako výchozí nastavil DevNullStorage nebo MemoryStorage, aplikace se mírně zpomalila, ale chyba zmizela.

EDIT: Omlouvám se, chyba je jak ve verzi 2.0 stable, tak v dnes (26.2.2012) stažené 2.1-dev z GitHubu.

Editoval jtousek (27. 2. 2012 0:11)

hrach
Člen | 1838
+
0
-

Srr, ale z toho se neda vyznat. Prvne, pouzivas nightly verzi? Pokud ne, zkus to na ni. Dale, uz samotna vyjimka pri f5 je spatne, takze budeme s dovolenim resit tvuj localhost problem. Potrebuji vykopirovat patricnou cast aplikace a idealne taky strukturu db – aspon relacne popsat. Jeste to prosim vyzkousej s storage MemoryStorage – ta uklada data v ramci jednoho requestu – zjistime, kdy cache aspon chybuje.
Diky, H

jtousek
Člen | 951
+
0
-

Nette: 2.0 stable i dnešní 2.1-dev z Githubu (přidal jsem to i do úvodního příspěvku)

MemoryStorage: chyba se neprojevuje

Schéma relevantní části databáze: schema.sql schema.png

Aplikaci mohu zjednodušit, zabalit a poslat, ale to už kvůli zákazníkovi nemohu takhle veřejně.

EDIT: Zjistil jsem, že chyba se vyskytuje pouze v případě, že předtím volám count.

{* pokud ten n:if odstraním, chyba se nevyskytuje *}
<ul n:if="$product->related('product_page')->count()">
	<li n:foreach="$product->related('product_page')->order('order') as $page">
		<a n:href="productPage $page->id" title="{$page->name}">{$page->name}</a>
	</li>
</ul>

Editoval jtousek (29. 2. 2012 12:29)