Files
omnivore/packages/db/migrations/0109.undo.received_email_trigger_query.sql

23 lines
617 B
PL/PgSQL
Executable File

-- Type: UNDO
-- Name: received_email_trigger_query
-- Description: Fix the received_email trigger query to only clear the current users old emails
BEGIN;
-- Create a trigger to keep the most recent 20 emails for each user
CREATE OR REPLACE FUNCTION omnivore.delete_old_received_emails()
RETURNS trigger AS $$
BEGIN
DELETE FROM omnivore.received_emails
WHERE id NOT IN (
SELECT id FROM omnivore.received_emails
WHERE user_id = NEW.user_id
ORDER BY created_at DESC
LIMIT 20
);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
COMMIT;