mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-28 12:00:36 +01:00
Fix TagFollow
records not being correctly handled in account operations (#33063)
This commit is contained in:
parent
e26bb6f827
commit
fd431c0afb
4 changed files with 7 additions and 1 deletions
|
@ -83,6 +83,9 @@ module AccountInteractions
|
||||||
has_many :following, -> { order('follows.id desc') }, through: :active_relationships, source: :target_account
|
has_many :following, -> { order('follows.id desc') }, through: :active_relationships, source: :target_account
|
||||||
has_many :followers, -> { order('follows.id desc') }, through: :passive_relationships, source: :account
|
has_many :followers, -> { order('follows.id desc') }, through: :passive_relationships, source: :account
|
||||||
|
|
||||||
|
# Hashtag follows
|
||||||
|
has_many :tag_follows, inverse_of: :account, dependent: :destroy
|
||||||
|
|
||||||
# Account notes
|
# Account notes
|
||||||
has_many :account_notes, dependent: :destroy
|
has_many :account_notes, dependent: :destroy
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ module AccountMerging
|
||||||
Follow, FollowRequest, Block, Mute,
|
Follow, FollowRequest, Block, Mute,
|
||||||
AccountModerationNote, AccountPin, AccountStat, ListAccount,
|
AccountModerationNote, AccountPin, AccountStat, ListAccount,
|
||||||
PollVote, Mention, AccountDeletionRequest, AccountNote, FollowRecommendationSuppression,
|
PollVote, Mention, AccountDeletionRequest, AccountNote, FollowRecommendationSuppression,
|
||||||
Appeal
|
Appeal, TagFollow
|
||||||
]
|
]
|
||||||
|
|
||||||
owned_classes.each do |klass|
|
owned_classes.each do |klass|
|
||||||
|
|
|
@ -52,6 +52,7 @@ class DeleteAccountService < BaseService
|
||||||
owned_lists
|
owned_lists
|
||||||
scheduled_statuses
|
scheduled_statuses
|
||||||
status_pins
|
status_pins
|
||||||
|
tag_follows
|
||||||
)
|
)
|
||||||
|
|
||||||
ASSOCIATIONS_ON_DESTROY = %w(
|
ASSOCIATIONS_ON_DESTROY = %w(
|
||||||
|
|
|
@ -39,6 +39,7 @@ module Mastodon::CLI
|
||||||
class Webhook < ApplicationRecord; end
|
class Webhook < ApplicationRecord; end
|
||||||
class BulkImport < ApplicationRecord; end
|
class BulkImport < ApplicationRecord; end
|
||||||
class SoftwareUpdate < ApplicationRecord; end
|
class SoftwareUpdate < ApplicationRecord; end
|
||||||
|
class TagFollow < ApplicationRecord; end
|
||||||
|
|
||||||
class PreviewCard < ApplicationRecord
|
class PreviewCard < ApplicationRecord
|
||||||
self.inheritance_column = false
|
self.inheritance_column = false
|
||||||
|
@ -89,6 +90,7 @@ module Mastodon::CLI
|
||||||
owned_classes << AccountIdentityProof if ActiveRecord::Base.connection.table_exists?(:account_identity_proofs)
|
owned_classes << AccountIdentityProof if ActiveRecord::Base.connection.table_exists?(:account_identity_proofs)
|
||||||
owned_classes << Appeal if ActiveRecord::Base.connection.table_exists?(:appeals)
|
owned_classes << Appeal if ActiveRecord::Base.connection.table_exists?(:appeals)
|
||||||
owned_classes << BulkImport if ActiveRecord::Base.connection.table_exists?(:bulk_imports)
|
owned_classes << BulkImport if ActiveRecord::Base.connection.table_exists?(:bulk_imports)
|
||||||
|
owned_classes << TagFollow if ActiveRecord::Base.connection.table_exists?(:tag_follows)
|
||||||
|
|
||||||
owned_classes.each do |klass|
|
owned_classes.each do |klass|
|
||||||
klass.where(account_id: other_account.id).find_each do |record|
|
klass.where(account_id: other_account.id).find_each do |record|
|
||||||
|
|
Loading…
Reference in a new issue