Account merging: handle duplicates for TagFollowing

I missed it in #7803

closes #7807
This commit is contained in:
cmrd Senya 2018-05-05 11:31:05 +03:00 committed by Benjamin Neff
parent cb294fd3f4
commit a3378ae744
No known key found for this signature in database
GPG key ID: 971464C3F1A90194
3 changed files with 10 additions and 0 deletions

View file

@ -3,6 +3,7 @@
## Refactor ## Refactor
* Add unique index to poll participations on `poll_id` and `author_id` [#7798](https://github.com/diaspora/diaspora/pull/7798) * Add unique index to poll participations on `poll_id` and `author_id` [#7798](https://github.com/diaspora/diaspora/pull/7798)
* Add 'completed at' date to account migrations [#7805](https://github.com/diaspora/diaspora/pull/7805) * Add 'completed at' date to account migrations [#7805](https://github.com/diaspora/diaspora/pull/7805)
* Handle duplicates for TagFollowing on account merging [#7807](https://github.com/diaspora/diaspora/pull/7807)
## Bug fixes ## Bug fixes

View file

@ -194,6 +194,10 @@ class AccountMigration < ApplicationRecord
.joins("INNER JOIN contacts as c2 ON (contacts.person_id = c2.person_id AND contacts.user_id=#{old_user.id} AND"\ .joins("INNER JOIN contacts as c2 ON (contacts.person_id = c2.person_id AND contacts.user_id=#{old_user.id} AND"\
" c2.user_id=#{new_user.id})") " c2.user_id=#{new_user.id})")
.destroy_all .destroy_all
TagFollowing
.joins("INNER JOIN tag_followings as t2 ON (tag_followings.tag_id = t2.tag_id AND"\
" tag_followings.user_id=#{old_user.id} AND t2.user_id=#{new_user.id})")
.destroy_all
end end
def update_person_references def update_person_references

View file

@ -210,6 +210,11 @@ describe AccountMigration, type: :model do
user: new_person.owner, user: new_person.owner,
person: FactoryGirl.create(:contact, user: old_person.owner).person person: FactoryGirl.create(:contact, user: old_person.owner).person
) )
FactoryGirl.create(
:tag_following,
user: new_person.owner,
tag: FactoryGirl.create(:tag_following, user: old_person.owner).tag
)
end end
it "runs without errors" do it "runs without errors" do