diff --git a/db/migrations/023_channel_messages_cascade.sql b/db/migrations/023_channel_messages_cascade.sql new file mode 100644 index 0000000..582a8f0 --- /dev/null +++ b/db/migrations/023_channel_messages_cascade.sql @@ -0,0 +1,12 @@ +-- Copyright 2026 Beacon Contributors +-- SPDX-License-Identifier: AGPL-3.0-or-later + +-- The packet_hash FK had no ON DELETE action, so packets carrying a channel +-- message could never age out and DeleteOldPackets aborted. Match packet_observations. + +ALTER TABLE channel_messages + DROP CONSTRAINT IF EXISTS channel_messages_packet_hash_fkey; + +ALTER TABLE channel_messages + ADD CONSTRAINT channel_messages_packet_hash_fkey + FOREIGN KEY (packet_hash) REFERENCES packets(packet_hash) ON DELETE CASCADE;