diff --git a/src/Audit/Adapter/Database.php b/src/Audit/Adapter/Database.php index ddc5986..e2c5c40 100644 --- a/src/Audit/Adapter/Database.php +++ b/src/Audit/Adapter/Database.php @@ -384,10 +384,15 @@ public function cleanup(\DateTime $datetime): bool { $datetimeString = DateTime::format($datetime); $this->db->getAuthorization()->skip(function () use ($datetimeString) { + $queries = [ + Query::select(['$sequence', '$id', '$collection', '$permissions', '$updatedAt', 'time']), + Query::lessThan('time', $datetimeString), + Query::orderDesc('time'), + Query::orderAsc(), + ]; + do { - $removed = $this->db->deleteDocuments($this->getCollectionName(), [ - Query::lessThan('time', $datetimeString), - ]); + $removed = $this->db->deleteDocuments($this->getCollectionName(), $queries); } while ($removed > 0); });