Skip to content

Commit 963f078

Browse files
Added deleteAllGraphs (#40)
1 parent 4ffd750 commit 963f078

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

docs/schema-graphs.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,13 @@ $arangoClient->schema()->hasGraph('relations');
4444
$arangoClient->schema()->deleteGraph('locations');
4545
```
4646

47+
### deleteAllGraphs(): bool
48+
This method deletes all named graphs available on the current database.
49+
50+
```
51+
$arangoClient->schema()->deleteAllGraphs();
52+
```
53+
4754
### getGraphVertices(string $name): array
4855
```
4956
$arangoClient->schema()->getGraphVertices('relations');

src/Schema/ManagesGraphs.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,20 @@ public function deleteGraph(string $name): bool
9292
return (bool) $this->arangoClient->request('delete', $uri);
9393
}
9494

95+
/**
96+
* @throws ArangoException
97+
*/
98+
public function deleteAllGraphs(): bool
99+
{
100+
$graphs = $this->getGraphs();
101+
102+
foreach ($graphs as $graph) {
103+
$this->deleteGraph($graph->name);
104+
}
105+
106+
return true;
107+
}
108+
95109
/**
96110
* @see https://www.arangodb.com/docs/stable/http/gharial-management.html#list-vertex-collections
97111
*

tests/SchemaManagerGraphsTest.php

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -331,3 +331,18 @@
331331
$this->schemaManager->deleteCollection('characters');
332332
$this->schemaManager->deleteCollection('vassals');
333333
});
334+
335+
test('deleteAllGraphs', function () {
336+
$result = $this->schemaManager->createGraph('graph1', [], true);
337+
$result = $this->schemaManager->createGraph('graph2', [], true);
338+
339+
$createdGraphs = $this->schemaManager->getGraphs();
340+
341+
$result = $this->schemaManager->deleteAllGraphs();
342+
343+
$finalGraphs = $this->schemaManager->getGraphs();
344+
345+
expect($result)->toBeTrue();
346+
expect(count($createdGraphs))->toBe(2);
347+
expect(count($finalGraphs))->toBe(0);
348+
})->only();

0 commit comments

Comments
 (0)