Nette hlási „table workflow.users does not exist“ ale dotaz na danú tabuľku funguje

Grepy
Člen | 2
+
0
-

Pozdravujem

Rozbieham u seba jeden existujúci Nette projekt a padá hneď pri autentifikácii, po odoslaní prihlasovacieho formulára na tomto riadku:

$row = $this->database->table(self::TABLE_NAME)->where(self::COLUMN_NAME, $username)->fetch();

kde konštanta TABLE_NAME je ‚workflow.user‘ a COLUMN_NAME momentálne nie je dôležitý.

Error, ktorý to hlási: Nette\InvalidArgumentException – Table ‚workflow.user‘ does not exist

Čo je ale zaujímavé, keď namiesto tohto riadku vložím tento kód:

$result = $this->database->query("SELECT * FROM workflow.user;");

while($row = $result->fetch()) {
    var_dump($row);
}

exit;

tak dostanem normálne výpis používateľov. Z toho usudzujem, že kontext $this->database je v poriadku ale padne to niekde na tej table() funkcii – ale netuším, čo teraz s tým môžem spraviť. Cache folder som viac krát vyprázdnil a nepomohlo to.

PS: Používam postgreSQL s viacerými schémami. Projekt na ostrom serveri funguje, problém je len u mňa.

Editoval Grepy (13. 10. 2020 16:56)

Grepy
Člen | 2
+
0
-

Prišiel som na to, pravdepodobne to nesúvisí s Nette.
V databáze bolo treba nastaviť search_path pre používateľa.
Už to funguje.