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
F14065489: D14490.diff
Tue, Nov 19, 4:53 AM
F14031473: D14490.diff
Sat, Nov 9, 10:42 AM
F14029993: D14490.id.diff
Fri, Nov 8, 10:50 PM
F14013048: D14490.id35054.diff
Fri, Nov 1, 11:54 PM
F14001202: D14490.id.diff
Fri, Oct 25, 5:07 AM
F13999254: D14490.diff
Thu, Oct 24, 1:43 PM
F13985121: D14490.diff
Oct 20 2024, 6:05 PM
Unknown Object (File)
Oct 9 2024, 1:21 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.