CREATE UNLOGGED TABLE otp ( user_id BIGINT NOT NULL, otp TEXT NOT NULL, expired_at TIMESTAMP NOT NULL, FOREIGN KEY (user_id) REFERENCES users (id) ON DELETE CASCADE ); CREATE INDEX idx_otp_user_id ON otp (user_id); CREATE INDEX idx_otp_expired_at ON otp (expired_at); SELECT cron.schedule( 'cleanup-expired-otp', '*/10 * * * *', $$DELETE FROM otp WHERE expired_at <= NOW()$$ );