Nefungující model pro tabulku na hostingu

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

Potřeboval bych pomoct vyřešit problém, který nedokážu pořád vyřešit. Zvláštní je, že u mě tento kód jede, ale na hostingu ne. Mám model pro obsluhu jedné tabulky. Problém je při přidávání nového záznamu. Při úpravě je vše v pořádku. Dostávám pořád chybu, která tvrdí, že daná tabulka nefunguje. Je to tato chyba:

[2012-11-22 20-45-12] PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'vut.matWork' doesn't exist in /mnt/data/accounts/z/zodiac/data/www/bvalo/libs/Nette/Database/Statement.php:76  @  http://bvalo.artcast.cz/mat-work/?do=addMat-submit  @@  exception-2012-11-15-22-17-14-45672bd544b2dde0a2984d31e30fe6a5.html

Na localhostu jede vše v pořádku, na hostingu ale ne. Zkoušel jsem už i promazat cache, kontrolovat všechny názvy, ale nic to nevyřešilo. Dokázal by mi prosím někdo pomoct? Děkuji.

ViPEr*CZ*
Člen | 817
+
0
-

Nebude problém v tom velkém W (matWork)?

hAssassin
Člen | 293
+
0
-

taky si myslim, bacha na to ze databáze na windows je case insensitive (tj. sloupce i nazvy tabulek) ale na linuxu to je case sensitive. Čili pokud z Nette voláš ‚matWork‘ a jsi na linuxu, tabulka se musí jmenovat ‚matWork‘. Na windows je to úplně jedno jak se bude jmenovat. Navíc to platí i o názvu DB.

serten
Člen | 55
+
0
-

taky sem si říkal, ale proč by mi to na localhostu jelo a na hostingu ne? v databázi mám tabulku pojmenovanou matwork, soubor s modelem se jmenuje MatWorkTable.php, kde mám proměnnou s názvem tabulky nastavenou na hodnotu ‚matwork‘. Měl bych teda změnit název toho souboru na MatworkTable.php?

serten
Člen | 55
+
0
-

Super, tak už se mi to podařilo opravit, pozměnil jsem jména souboru a třídy a už to jede.

Díky moc za pomoc.

hAssassin
Člen | 293
+
0
-

přesně tak. Přejmenování by mělo pomoc. Btw. na jakém OS máš na localhost?

ViPEr*CZ*
Člen | 817
+
0
-

hAssassin napsal(a):

taky si myslim, bacha na to ze databáze na windows je case insensitive (tj. sloupce i nazvy tabulek) ale na linuxu to je case sensitive. Čili pokud z Nette voláš ‚matWork‘ a jsi na linuxu, tabulka se musí jmenovat ‚matWork‘. Na windows je to úplně jedno jak se bude jmenovat. Navíc to platí i o názvu DB.

V podstatě záleží na konfiguraci… default se ovšem může lišit podle OS.

serten
Člen | 55
+
0
-

No localhost mám na Windowsech, takže ste měli všichni pravdu.

hAssassin
Člen | 293
+
0
-

ViPErCZ > vážně? a kde se to dá konfigurovat? Vím že to nemá s Nette nic společnýho, ale začal jsem používat camelCase notaci pro tabulky a sloupce a docela mě vadí, že na localhostu to mám vše malýma a mám celkem strach, co se stane až to hodím na server (v kódu to mám samozřejmně správně).