From e7585fb870dc13689ae4de57cefac33c3628700e Mon Sep 17 00:00:00 2001 From: Till JS Date: Tue, 7 Apr 2026 16:20:05 +0200 Subject: [PATCH] fix(mana-events): cascade rate buckets when an event is unpublished Add an ON DELETE CASCADE FK from rsvp_rate_buckets.token to events_published.token. Without it, deleting a snapshot left orphaned rate-limit rows behind, slowly leaking storage. Verified with a direct SQL cascade test. --- services/mana-events/src/db/schema/events.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/services/mana-events/src/db/schema/events.ts b/services/mana-events/src/db/schema/events.ts index e77617e9e..0172c4f00 100644 --- a/services/mana-events/src/db/schema/events.ts +++ b/services/mana-events/src/db/schema/events.ts @@ -74,7 +74,9 @@ export const publicRsvps = eventsSchema.table( export const rsvpRateBuckets = eventsSchema.table( 'rsvp_rate_buckets', { - token: text('token').notNull(), + token: text('token') + .notNull() + .references(() => eventsPublished.token, { onDelete: 'cascade' }), hourBucket: text('hour_bucket').notNull(), // YYYY-MM-DDTHH count: integer('count').default(0).notNull(), },