Last active 1713551145

remove-old-campaigns.sql Raw
1-- Remove campaigns older than 6 months from phpList including all stats.
2-- Start transaction
3START TRANSACTION;
4
5-- Delete user-message links for campaigns older than 6 months
6DELETE FROM phplist_usermessage
7WHERE messageid IN (
8 SELECT id FROM phplist_message WHERE DATE_ADD(entered, INTERVAL 6 MONTH) < NOW()
9);
10
11-- Delete link tracking data for campaigns older than 6 months
12DELETE FROM phplist_linktrack
13WHERE messageid IN (
14 SELECT id FROM phplist_message WHERE DATE_ADD(entered, INTERVAL 6 MONTH) < NOW()
15);
16
17-- Delete bounce data for campaigns older than 6 months
18DELETE FROM phplist_bounce
19WHERE messageid IN (
20 SELECT id FROM phplist_message WHERE DATE_ADD(entered, INTERVAL 6 MONTH) < NOW()
21);
22
23-- Delete event log entries for campaigns older than 6 months
24DELETE FROM phplist_eventlog
25WHERE messageid IN (
26 SELECT id FROM phplist_message WHERE DATE_ADD(entered, INTERVAL 6 MONTH) < NOW()
27);
28
29-- Delete the campaigns themselves that are older than 6 months
30DELETE FROM phplist_message
31WHERE DATE_ADD(entered, INTERVAL 6 MONTH) < NOW();
32
33-- Commit the transaction
34COMMIT;
35