Dotaz na existenci tabulky

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

Ahoj, nedokázal by mi někdo poradit jak udělat dotaz na existenci tabulky a pri neexistenci aby to neskoncilo chybou ?
Zkoušel jsem to i přes try catch ale skonci to bohuzel chybou s neexitujici tabulkou.

	public function checkTable($table)
	{
		try{
			$this->database->table($table)->fetch();
			return TRUE;
	}catch(Exception $e){
		return FALSE;
	}
	}
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'db.test' doesn't exist

Nechci to dělat přes SHOW TABLES protože těch tabulek je poměrně dost.

hrach
Člen | 1838
+
0
-

pouzij show tables a cachuj to. jinak drivery k tomu maji primo metodu getTables()

roghill
Člen | 21
+
0
-

To jsem právě dělat nechtěl. Takže nějaká „jednodušší“ možnost není ?

hrach
Člen | 1838
+
0
-

Tak jasny, muzes si poslat dotaz do information_schema. To bys mohl vedet, to s nette nesouvisi.

llook
Člen | 407
+
0
-

Jestli jediný problém je dlouhý výsledek (hodně tabulek), tak dotaz na jednu tabulku je SHOW TABLES LIKE '%s'.