diff --git a/src/applications/diviner/storage/DivinerLiveBook.php b/src/applications/diviner/storage/DivinerLiveBook.php --- a/src/applications/diviner/storage/DivinerLiveBook.php +++ b/src/applications/diviner/storage/DivinerLiveBook.php @@ -1,7 +1,9 @@ openTransaction(); + $atoms = id(new DivinerAtomQuery()) + ->setViewer(PhabricatorUser::getOmnipotentUser()) + ->withBookPHIDs(array($this->getPHID())) + ->withIncludeGhosts(true) + ->withIncludeUndocumentable(true) + ->execute(); + + foreach ($atoms as $atom) { + $engine->destroyObject($atom); + } + + $this->delete(); + $this->saveTransaction(); + } + } diff --git a/src/applications/diviner/storage/DivinerLiveSymbol.php b/src/applications/diviner/storage/DivinerLiveSymbol.php --- a/src/applications/diviner/storage/DivinerLiveSymbol.php +++ b/src/applications/diviner/storage/DivinerLiveSymbol.php @@ -1,7 +1,10 @@ openTransaction(); + $conn_w = $this->establishConnection('w'); + + queryfx( + $conn_w, + 'DELETE FROM %T WHERE symbolPHID = %s', + id(new DivinerLiveAtom())->getTableName(), + $this->getPHID()); + + $this->delete(); + $this->saveTransaction(); + } + }