NotORM a Postgresql – problém s insertem u sequence s velkými písmeny
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- lamicka
- Člen | 1
Ahoj jsem v Nette poměrně nový ale dneska jsem narazil na zajímavé chování Nette\Database\Connection a chci se na něj optat.
Měl jsem tabulku v Postgresu, která měla prefix z velkých písmen (řekněme že se jmenovala XXX_xxx) a PK pomocí serial. Protože jsem nechal sequence k serialu vytvořit automaticky i její název měl prefix z velkých písmen. Když jsem pak do ní chtěl vložit data vyhodilo mi to tuto chybu (data to ale vložilo):
PDOException #42P01
SQLSTATE[42P01]: Undefined table: 7 ERROR: relation "xxx_xxx_id_seq" does not exist
Chyba prý byla v Database\Connection:
public function getInsertId($name = NULL)
{
return $this->getPdo()->lastInsertId($name);
}
Zkoušel jsem nastavit sequence ručně v dotazu nějak takto ale bez úspěchu:
$this->database->table(self::TABLE_GROUPS)->setPrimarySequence('XXX_xxx_id_seq')->insert($data);
Po úpravě názvu sequence na malá písmena vše jelo v pohodě. Chci se ale zeptat: Je toto chování způsobené nějakým mnou opomenutým nastavením a nebo jde o chybu, nebo dokonce záměr? Díky za odpovědi