Metadaten

Creole bietet eine an die Programmierschnittstelle von Hibernate angelehnte Möglichkeit für die Introspektion von Datenbanken an. Die Methode getDatabaseInfo() der Klasse Connection liefert hierzu ein DatabaseInfo-Objekt mit den Metadaten der aktuell benutzten Datenbank (Beispiel 11.7).

Beispiel 11.7: Metadaten mit Connection::getDatabaseInfo() abfragen

<?php
try {
  $database = $connection->getDatabaseInfo();
 
  foreach ($database->getTables() as $table) {
    print 'Tabelle: ' . $table->getName() . "\n";
 
    foreach ($table->getColumns() as $column) {
      printf(
        "\t%s (%s)",
        $column->getName(),
        $column->getNativeType()
      );
     }
  }
}
 
catch (SQLException $e) {
  // Ausnahme $e behandeln.
}
?>
Tabelle: bar
    foo: int
    bar: text