feat: implement dynamic database management via MySQL driver and API controllers
This commit is contained in:
@@ -109,7 +109,7 @@ class SchemaController extends Controller
|
||||
{
|
||||
try {
|
||||
$this->initializeDriver($request);
|
||||
$config = $request->only(['host', 'username', 'password', 'database', 'port']);
|
||||
$config = $request->only(['host', 'username', 'password', 'database', 'port', 'table']);
|
||||
$filePath = $this->databaseService->export($config);
|
||||
|
||||
return Response::download($filePath)->deleteFileAfterSend(true);
|
||||
@@ -154,4 +154,26 @@ class SchemaController extends Controller
|
||||
return Response::json(['error' => $e->getMessage()], 400);
|
||||
}
|
||||
}
|
||||
|
||||
public function tableMetadata(Request $request, $database, $table)
|
||||
{
|
||||
try {
|
||||
$request->merge(['database' => $database]);
|
||||
$this->initializeDriver($request);
|
||||
return Response::json($this->databaseService->getTableMetadata($database, $table));
|
||||
} catch (\Exception $e) {
|
||||
return Response::json(['error' => $e->getMessage()], 400);
|
||||
}
|
||||
}
|
||||
|
||||
public function truncate(Request $request, $table)
|
||||
{
|
||||
try {
|
||||
$this->initializeDriver($request);
|
||||
$this->databaseService->truncateTable($table);
|
||||
return Response::json(['message' => "Table '{$table}' truncated successfully"]);
|
||||
} catch (\Exception $e) {
|
||||
return Response::json(['error' => $e->getMessage()], 400);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user