tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

globalni prefix tabulek – uz v Connection options?

před 10 lety

knedle
Člen | 34

zdravim,

mam nekde v hlave pocit, ze jsem tohle reseni uz videl (nejaky stary tutorial?). Ale nedari se mi zdroj dohledat a kdyz se divam do kodu dibi, tak to tam take nevidim.

z predmetu postu je myslim jasne, co hledam/bych chtel:

nastavit prefix pro vsechny tabulky uz v connection string, at nemusim osetrovat kazdy sql dotaz

$options  = array (
 'driver'    => 'mysql' ,
 'host'      => 'localhost' ,
 'username'  => 'root' ,
 'password'  => '***' ,
 'database'  => 'nejaka_db' ,
 'prefix'    => 'wp_' ,
 );

 // v případě chyby vyhodí DibiException
 $connection  = new  DibiConnection( $options );

pricemz

 $connection ->query( 'TRUNCATE [table]' );
// by hodilo
// TRUNCATE `wp_table`

// naledne
 $connection ->query( 'TRUNCATE [table2]' );
// by hodilo
// TRUNCATE `wp_table2`

pouzitelnost je myslim jasna, mam aplikaci, ktera pracuje jen s urcitou casti tabulek ve databazi – a vsechny maji shodny prefix

aktualni :prefix:table, :prefix:table2. :prefix:table3… je zbytecne narocne

před 10 lety

phx
Člen | 652

Osobne jsem si :prefix:tabulka zkratil na ::tabulka a ve vychozi konfiguraci mam :: = ''. Ale i tak jsem to asi obcas nekde opomenul.

před 10 lety

vlki
Člen | 218

Bojím se, že dibi aktuálně neumí rozeznat v dotazu tabulku od sloupců.

$connection ->query('SELECT [column] FROM [table]');

Jak zjistit, co v takovém případě prefixovat a co ne?

před 10 lety

PetrP
Člen | 587

Heh, tohle jsem 2 dny zpátky taky řešil (tady v již napsané aplikaci jsem potřeboval rychle přidat prefixy).

vlki napsal(a):

Bojím se, že dibi aktuálně neumí rozeznat v dotazu tabulku od sloupců.

$connection ->query('SELECT [column] FROM [table]');

Jak zjistit, co v takovém případě prefixovat a co ne?

Tady by to ještě šlo, ale u takovýhle věcí by to bylo už složitejší:

$connection ->query('SELECT [table.column], [table2.id], (SELECT [puficky] FORM [table]) AS puficky FROM [table], [dalsitable] AS table2');