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