← Back to team overview

launchpad-dev team mailing list archive

Re: Archive deletion strategy

 

This may be an unnecessary complication for you, but perhaps you can re-use a
pattern I used for mailing lists.

On Aug 03, 2010, at 11:08 AM, Julian Edwards wrote:

>> Deletion is therefore four things:
>> 
>>   1. Removal of the apt archive on disk
>>   2. Removal of the librarian files
>>   3. DELETED publication records for each package in the archive
>>   4. Deletion of the database rows
>
>Steps 3 and 4 are mutually exclusive.  Either we delete the DB rows or
>we mark them (the publishing records) in the DELETED state.

When handling a similar situation with mailing lists, I opted to add a PURGED
state instead of deleting the rows.  A PURGED list is treated by the system
(as visible to the user) exactly like a list that doesn't exist, but
internally there may be some different behavior.  Also, because of all the
constraints connecting lists and teams, it is easier to tweak a status than
remove a db row.  Mailing lists can transition from PURGED to APPROVED (we
don't use the REQUESTED state anymore) by re-using the existing record and
updating the necessary fields.

-Barry

Attachment: signature.asc
Description: PGP signature


Follow ups

References