[12:09] <cjwatson> wgrant: Is it intentional that AccessArtifact has FKs for bug and specification, but not branch?
[12:10] <cjwatson> wgrant: Just tracking down the IntegrityError I found when QAing https://bugs.launchpad.net/launchpad/+bug/1456583, and wondering why Branch.destroySelf apparently doesn't need to clean up its AAs
[12:10] <mup> Bug #1456583: Can't delete Git repositories <feature> <git> <qa-needstesting> <Launchpad itself:Fix Committed by cjwatson> <https://launchpad.net/bugs/1456583>
[12:12] <cjwatson> I wonder if there are leftover AA rows for now-nonexistent branches as a result.
[12:20] <wgrant>     bug integer REFERENCES bug,
[12:20] <wgrant>     branch integer, -- FK to be added later.
[12:22] <wgrant> Something must have been checking for branch FKs.
[12:24] <wgrant> APGF.grantee is the only other one from that patch that wasn't fixed later.
[12:36] <wgrant> Oh, no
[12:36] <wgrant> APGF.grantee is deliberately not FKed, I think, because it shouldn't be touched by person merge.
[12:36] <wgrant> It's purely maintained by triggers.
[13:10] <cjwatson> So do I need something like getUtility(IAccessArtifactSource).delete([self]) ?
[13:11] <cjwatson> One of these days I will properly understand the access model :)