Added database.change_batch_retention, deleting old change batches

Each save that records a batch also deletes, in the same
transaction, the batches older than database.change_batch_retention
(30 days by default; 0 or less keeps them for ever), with their
records of opportunities. A client still holding a deleted batch
gets 410 Gone from ?changed_after= and reloads the whole list, as
for any unknown batch.
This commit is contained in:
bwilliams committed 2026-10-16 16:10:32 +01:00
1 parent 1988d07a29
commit 65e5bc6b26
10 files changed
+153 -19

No files matched your search

+5
View File
@@ -294,6 +294,11 @@ FROM opportunity_change_batches
ORDER BY created_at DESC
LIMIT 1`
// deleteChangeBatchesBefore deletes the batches created before a time, and
// (by cascade) the records of their opportunities.
const deleteChangeBatchesBefore = `
DELETE FROM opportunity_change_batches WHERE created_at < ?`
// selectChangeBatchByHash reads the batch with a hash into a changeBatch.
const selectChangeBatchByHash = `
SELECT * FROM opportunity_change_batches WHERE hash = ?`