discourse/db/migrate/20160110053003_archive_system_messages_with_no_replies.rb
Sam 6fabb341f1 FEATURE: automatically archive welcome messages for site_contact_user
This de-clutters the sent messages box for site_contact_user, making it again usable
2016-01-10 16:46:11 +11:00

25 lines
752 B
Ruby

class ArchiveSystemMessagesWithNoReplies < ActiveRecord::Migration
def up
# backdate archival of system messages send on behalf of site_contact_user
execute <<SQL
INSERT INTO user_archived_messages (user_id, topic_id, created_at, updated_at)
SELECT p.user_id, p.topic_id, p.created_at, p.updated_at
FROM posts p
JOIN topics t ON t.id = p.topic_id
LEFT JOIN user_archived_messages um ON um.user_id = p.user_id AND um.topic_id = p.topic_id
WHERE t.subtype = 'system_message' AND
t.posts_count = 1 AND
t.archetype = 'private_message' AND
um.id IS NULL AND
p.user_id IS NOT NULL AND
p.topic_id IS NOT NULL AND
p.post_number = 1
SQL
end
def down
end
end