Nette 2.4 – Přístup k tabulce v jiné databázi
- neznamy_uzivatel
- Člen | 115
Ahoj,
můžu nějak přistupovat k tabulce v jiné db, než mám v config.neon?
Mám databázi hlavni a vedlejsi, v config.neon mám
uvedenu hlavni a tak dotaz
$db->table('user')->get(1);
vygeneruje něco jako SELECT * FORM user WHERE id=1;
V nette 2.3 mi pro přístup k jiné db fungovalo
$db->table('vedlejsi.user')->get(1);
což vrátilo záznam z té db vedlejsi namísto hlavni.
Po aktualizaci na 2.4 tohle nefunguje – vrátí, že tabulka neexistuje,
tipuju to na nějaké escapování?
Že by to namísto
SELECT * FROM "vedlejsi"."user"
vygenerovalo
SELECT * FROM "vedlejsi.user"
Když si to dám do $db->query, tak to stále funguje, jenže bych potřeboval vracet ActiveRow..
Dík :)
btw. nejde tady používat ` uvitř inline kódu, tak jsem dal uvozovky..
- Kamil Valenta
- Člen | 820
A není lépe definovat si v neonu non-autowired connection do té druhé DB (kdyby tam nebyl stejný user a heslo) a tam kde je potřeba, vyžádat si závislost na té druhé connection?
Editoval kamil_v (21. 4. 2020 19:18)
- neznamy_uzivatel
- Člen | 115
@kamil_v Ono těch databází je více a jsem tak nějak zvyklý to
takto používat..
Navíc v některých dotazech třeba i joinuju tabulky mezi různými db,
přesouvám data z jedné db do druhé, atd.. To by byl asi apokalyptický
refaktoring :)
- neznamy_uzivatel
- Člen | 115
Ahoj, zkouším to posunout nahoru, jestli by někdo náhodou prosím
nevěděl, jak s tím vyjebat, :) aby to sežralo standardní zápis typu
$context->table(‚databáze
.tabulka
‘)->…
Po pár měsících jsem se k tomu vrátil, čumím do toho x hodin a stále to
prostě nejde. Přepisovat to všechno do context->query je šílenost a
downgradovat nette se mi nechce :( Díky