Skip to content

Commit ed9228b

Browse files
committed
Remove unsafe deleteAllIndexes
1 parent 7a33dec commit ed9228b

File tree

2 files changed

+0
-39
lines changed

2 files changed

+0
-39
lines changed

src/Scout/ScoutEngine.php

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
use Laravel\Scout\Engines\Engine;
1414
use Laravel\Scout\Searchable;
1515
use LogicException;
16-
use MongoDB\BSON\Regex;
1716
use MongoDB\BSON\Serializable;
1817
use MongoDB\BSON\UTCDateTime;
1918
use MongoDB\Collection as MongoDBCollection;
@@ -41,7 +40,6 @@
4140
use function is_iterable;
4241
use function is_string;
4342
use function iterator_to_array;
44-
use function preg_quote;
4543
use function sleep;
4644
use function sprintf;
4745
use function substr;
@@ -428,22 +426,6 @@ public function deleteIndex($name): void
428426
$this->database->selectCollection($name)->drop();
429427
}
430428

431-
/**
432-
* Delete all "search indexes", i.e. all MongoDB collections.
433-
*/
434-
public function deleteAllIndexes()
435-
{
436-
$collectionNames = $this->database->listCollectionNames([
437-
'filter' => [
438-
'name' => new Regex('^' . preg_quote($this->prefix)),
439-
],
440-
]);
441-
442-
foreach ($collectionNames as $collectionName) {
443-
$this->database->selectCollection($collectionName)->drop();
444-
}
445-
}
446-
447429
/** Get the MongoDB collection used to search for the provided model */
448430
private function getSearchableCollection(Model|EloquentCollection $model): MongoDBCollection
449431
{

tests/Scout/ScoutEngineTest.php

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
namespace MongoDB\Laravel\Tests\Scout;
44

5-
use ArrayIterator;
65
use Closure;
76
use DateTimeImmutable;
87
use Illuminate\Database\Eloquent\Collection as EloquentCollection;
@@ -12,7 +11,6 @@
1211
use LogicException;
1312
use Mockery as m;
1413
use MongoDB\BSON\Document;
15-
use MongoDB\BSON\Regex;
1614
use MongoDB\BSON\UTCDateTime;
1715
use MongoDB\Collection;
1816
use MongoDB\Database;
@@ -552,25 +550,6 @@ public function testDeleteWithRemoveableScoutCollection(): void
552550
$engine->delete($job->models);
553551
}
554552

555-
public function testDeleteAll(): void
556-
{
557-
$collectionNames = ['scout-prefix-table1', 'scout-prefix-table2'];
558-
$database = m::mock(Database::class);
559-
$database->shouldReceive('listCollectionNames')
560-
// Name prefix is escaped
561-
->with(['filter' => ['name' => new Regex('^scout\-prefix\-')]])
562-
->andReturn(new ArrayIterator($collectionNames));
563-
564-
foreach ($collectionNames as $collectionName) {
565-
$collection = m::mock(Collection::class);
566-
$database->shouldReceive('selectCollection')->with($collectionName)->andReturn($collection);
567-
$collection->shouldReceive('drop')->with()->once();
568-
}
569-
570-
$engine = new ScoutEngine($database, softDelete: false, prefix: 'scout-prefix-');
571-
$engine->deleteAllIndexes();
572-
}
573-
574553
public function testItCannotIndexInTheSameNamespace()
575554
{
576555
self::expectException(LogicException::class);

0 commit comments

Comments
 (0)