feat: implement database schema discovery and data browser interface

This commit is contained in:
Ümit Tunç
2026-04-24 07:53:50 +03:00
parent 14abf1223f
commit cd34cc6412
6 changed files with 244 additions and 78 deletions
@@ -84,4 +84,24 @@ class SchemaController extends Controller
return Response::json(['error' => $e->getMessage()], 400);
}
}
public function execute(Request $request)
{
try {
$this->initializeDriver($request);
$sql = $request->get('query');
if (empty($sql)) {
return Response::json(['error' => 'Query is empty'], 400);
}
$results = $this->databaseService->executeQuery($sql);
return Response::json([
'data' => $results,
'count' => count($results)
]);
} catch (\Exception $e) {
return Response::json(['error' => $e->getMessage()], 400);
}
}
}
+8
View File
@@ -90,4 +90,12 @@ class DatabaseService
{
return $this->getDriver()->getTableCount($table);
}
/**
* Execute a raw SQL query.
*/
public function executeQuery(string $sql, array $bindings = []): array
{
return $this->getDriver()->query($sql, $bindings);
}
}