Jak nastavit prefix názvu tabulky?

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

Ahoj,
na čistě Nette projektu nejspíš prefix člověk nepotřebuje, protože si tabulky pojmenuje normálně.

Když člověk ale potřebuje být kompatibilní s wordpress (prefix wp_) nebo třeba opencart (oc_), jak to mám udělat?

Chtěl bych se vyhnout manuálnímu vkládání prefixu do názvu tabulky.

Používám Nette Database a Nette 2.3.2

Editoval Myiyk (14. 6. 2015 21:23)

Jan Tvrdík
Nette guru | 2595
+
0
-

Nette Database pokud vím nic takového neumí, takže to máš dost jednoduché, prostě tam ten prefix ručně napíšeš.

Pavel Kravčík
Člen | 1205
+
-1
-

Nebo si můžeš přetížit Repository a funkci getTable()

class WordpressRepository extends Repository
{
  public function getTable($table)
  {
    return parent::getTable('wp_' . $table);
  }
}
Jan Tvrdík
Nette guru | 2595
+
0
-

To nechápu, NDB žádnou třídu Repository neobsahuje.

Pavel Kravčík
Člen | 1205
+
0
-

Safra měl jsem za to, že tam nějaký abstraktní repositář, který má context a interface IRepository.

V tom případě si může jednoduchý napsat a rozšířit si ho. Nebo jestli nebyl ve starších verzích. Nemyslím si, že bych ho psal sám a mám ho všude, jak tak koukám.

Šaman
Člen | 2668
+
0
-

V Nette Database, ani v Dibi žádný repositář nebyl. Dokonce ani v Sandboxu (tam už byly ale ukázky modelu). Repozitář byl ale v mnoha ukázkových sandboxech různých uživatelů, třeba jeden velmi primitivní u mě. A taky ve všech ORMech, třeba YetORM, LeanMapper apod. Nette totiž model neřeší (jen obsahuje databázovou vrstvu), takže si různé přístupy implementují a šíří uživatelé sami.