@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.)
hq.recaptime.dev/wiki/Phorge
phorge
phabricator
1<?php
2
3final class PhabricatorSearchNgramsDestructionEngineExtension
4 extends PhabricatorDestructionEngineExtension {
5
6 const EXTENSIONKEY = 'search.ngrams';
7
8 public function getExtensionName() {
9 return pht('Search Ngram');
10 }
11
12 public function canDestroyObject(
13 PhabricatorDestructionEngine $engine,
14 $object) {
15 return ($object instanceof PhabricatorNgramsInterface);
16 }
17
18 public function destroyObject(
19 PhabricatorDestructionEngine $engine,
20 $object) {
21
22 foreach ($object->newNgrams() as $ngram) {
23 queryfx(
24 $ngram->establishConnection('w'),
25 'DELETE FROM %T WHERE objectID = %d',
26 $ngram->getTableName(),
27 $object->getID());
28 }
29 }
30
31}