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
* 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)
* Handle duplicates for TagFollowing on account merging [#7807](https://github.com/diaspora/diaspora/pull/7807)
## 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"\
" c2.user_id=#{new_user.id})")
.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
def update_person_references

View file

@ -210,6 +210,11 @@ describe AccountMigration, type: :model do
user: new_person.owner,
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
it "runs without errors" do