You are not logged in.
Bonjour,
Il se trouve que des plugins spécifiques à ma société utilisent des vues et quand la fonction list_tables est appelée, elle liste les tables ET les vues.
Cela pourrait paraitre annondin mais quand le script de migration (par exemple) appelle la fonction optimize_tables, ça lance un "OPTIMIZE TABLE" sur les vues et là, ça plante.
Bref, si on peut modifier la fonction list_tables pour ne lister que les tables, ça serait cool.
En attendant, je l'ai modifié comme ceci pour mon environnement :
/**
* List tables in database
*
* @param $table table name condition (glpi_% as default to retrieve only glpi tables)
*
* @return list of tables
**/
function list_tables($table="glpi_%") {
//return $this->query("SHOW TABLES LIKE '".$table."'");
return $this->query("SELECT TABLE_NAME FROM information_schema.`TABLES` WHERE TABLE_SCHEMA = (SELECT DATABASE()) AND TABLE_TYPE != 'VIEW' AND TABLE_NAME LIKE '".$table."'");
}
Cdt,
Sylvie
Offline