diff --git a/app/models/user.rb b/app/models/user.rb index 1f47eaacb05..e10ebba595d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -33,8 +33,14 @@ class User < ActiveRecord::Base has_many :user_api_keys, dependent: :destroy has_many :topics has_many :user_open_ids, dependent: :destroy - has_many :user_actions, dependent: :destroy - has_many :post_actions, dependent: :destroy + + # Do Not Change to user_actions/post_actions to dependent: destroy + # users can have lots of actions, bypass tracking of all destroyed objects + # this means there is a much higher likelihood that users with lots of state + # can be destroyed. + has_many :user_actions, dependent: :delete_all + has_many :post_actions, dependent: :delete_all + has_many :user_badges, -> { where('user_badges.badge_id IN (SELECT id FROM badges WHERE enabled)') }, dependent: :destroy has_many :badges, through: :user_badges has_many :email_logs, dependent: :delete_all