Page MenuHomePhabricator

Permanently destroy Almanac properties with the destruction engine
ClosedPublic

Authored by joshuaspence on Nov 15 2015, 8:36 PM.
Tags
None
Referenced Files
F13182844: D14490.id35056.diff
Fri, May 10, 4:17 AM
F13181926: D14490.diff
Thu, May 9, 5:03 PM
F13181806: D14490.diff
Thu, May 9, 3:54 PM
F13177096: D14490.id35054.diff
Wed, May 8, 7:17 PM
Unknown Object (File)
Sun, May 5, 4:10 PM
Unknown Object (File)
Wed, May 1, 6:30 PM
Unknown Object (File)
Sun, Apr 28, 4:49 PM
Unknown Object (File)
Sun, Apr 28, 9:26 AM
Subscribers

Details

Summary

As suggested in D14461.

Test Plan

Used ./bin/remove destroy on an Almanac service with properties attached, saw entries removed from the phabricator_almanac.almanac_property table.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

joshuaspence retitled this revision from to Permanently destroy Almanac properties with the destruction engine.
joshuaspence updated this object.
joshuaspence edited the test plan for this revision. (Show Details)
joshuaspence added a reviewer: epriestley.
epriestley edited edge metadata.
This revision is now accepted and ready to land.Nov 15 2015, 8:48 PM

I think that we should eventually modularize this behavior because it is becoming rather unwieldy. Offhand, I think that we could do this with some PhabricatorDestructor subclass:

abstract class PhabricatorDestructor extends Phobject {
  abstract public function appliesToObject($object);
  abstract public function destruct($object_phid);
}
This revision was automatically updated to reflect the committed changes.

Yeah, agreed. Anywhere we're using instanceof is usually pretty suspicious.