Database Reflection | dibi
'sqlite',
'database' => 'data/sample.sdb',
));
// retrieve database reflection
$database = dibi::getDatabaseInfo();
echo "Database '{$database->name}'
\n";
echo "\n";
foreach ($database->getTables() as $table) {
echo '- ', ($table->view ? 'view' : 'table') . " $table->name
\n";
}
echo "
\n";
// table reflection
$table = $database->getTable('products');
echo "Table '{$table->name}'
\n";
echo "Columns\n";
echo "\n";
foreach ($table->getColumns() as $column) {
echo "- {$column->name} {$column->nativeType}
{$column->default}
\n";
}
echo "
\n";
echo "Indexes";
echo "\n";
foreach ($table->getIndexes() as $index) {
echo "- {$index->name} " . ($index->primary ? 'primary ' : '') . ($index->unique ? 'unique' : '') . ' (';
foreach ($index->getColumns() as $column) {
echo "$column->name, ";
}
echo ")
\n";
}
echo "
\n";