contao/test — Issue #879: listTables cached Datenbanknamen auch bei änderung
Author: LeoUnglaub
Created: 2011-11-28 17:34:23+00:00
State: open
Labels: Defect, framework, Invalid

Hallo Leo,
ich muss leider folgenden Bug reporten. Es wurde eigentlich alles schon in diesem Thread besprochen: http://www.typolight-community.de/showthread.php?t=776

Hier aber noch mal die Zusammenfassung des Problems. Wenn ich mit setDatabase() die Datenbank wechsele funktionieren alle Methoden mit der neuen DB bis auf listTables(). Diese Methode liefert trotz DB-Change die Tabellen der TL-Datenbank.

Sprich: Folgender Code funktioniert nicht:

```
// Import der DB
$this->import('Database');

$this->Database->setDatabase('andere_db');
$tabellen = $this->Database->listTables();

foreach ($tabellen as $tabelle) {
echo $tabelle;
echo "
\n";
}

//Zurücksetzen auf die TL-Datenbank, da ansonsten Fehlermeldung
$this->Database->setDatabase('tl_db');
```

Es wird trotzdem folgendes Ausgegeben:

```
tl_article
tl_calendar
tl_calendar_events
tl_comments
tl_content
tl_extension
tl_faq
tl_faq_category
tl_flash
tl_form
tl_form_field
tl_glossary
tl_glossary_term
tl_layout
tl_log
tl_member
tl_member_group
tl_module
tl_news
tl_news_archive
tl_news_comments
tl_newsletter
tl_newsletter_channel
tl_newsletter_recipients
tl_page
tl_repository_installs
tl_repository_instfiles
tl_search
tl_search_index
tl_session
tl_style
tl_style_sheet
tl_task
tl_task_status
tl_undo
tl_user
tl_user_group
tl_version
```

Gelöst habe ich es temporär mit folgendem Code:

```
$showTables = $this->Database->prepare("show tables")->execute();
if ($showTables->numRows) {
$this->Template->tables = $showTables->fetchEach('Tables_in_DATANBANKNAME');
}
```

Vielen Dank für deine Mühe. Wenn du noch irgend was brauchst um dne Fehler nachzustellen stehe ich natürlich zur Verfügung.
Viele Grüße
Leo Unglaub

--- _Originally created on July 14th, 2009, at 03:17pm (ID 879)_