Merge branch 'release/0.7.1.0' into next-minor
This commit is contained in:
commit
31559ce483
2 changed files with 45 additions and 0 deletions
|
|
@ -48,6 +48,7 @@ after you've upgraded.
|
||||||
* Handle duplicate account deletions [#7639](https://github.com/diaspora/diaspora/pull/7639)
|
* Handle duplicate account deletions [#7639](https://github.com/diaspora/diaspora/pull/7639)
|
||||||
* Handle duplicate account migrations [#7641](https://github.com/diaspora/diaspora/pull/7641)
|
* Handle duplicate account migrations [#7641](https://github.com/diaspora/diaspora/pull/7641)
|
||||||
* Handle bugs related to missing users [#7632](https://github.com/diaspora/diaspora/pull/7632)
|
* Handle bugs related to missing users [#7632](https://github.com/diaspora/diaspora/pull/7632)
|
||||||
|
* Cleanup empty signatures [#7644](https://github.com/diaspora/diaspora/pull/7644)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
* Ask for confirmation when leaving a submittable comment field [#7530](https://github.com/diaspora/diaspora/pull/7530)
|
* Ask for confirmation when leaving a submittable comment field [#7530](https://github.com/diaspora/diaspora/pull/7530)
|
||||||
|
|
|
||||||
44
db/migrate/20171017221434_cleanup_empty_signatures.rb
Normal file
44
db/migrate/20171017221434_cleanup_empty_signatures.rb
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
class CleanupEmptySignatures < ActiveRecord::Migration[5.1]
|
||||||
|
class Comment < ApplicationRecord
|
||||||
|
belongs_to :commentable, polymorphic: true
|
||||||
|
|
||||||
|
has_one :signature, class_name: "CommentSignature", dependent: :delete
|
||||||
|
|
||||||
|
before_destroy do
|
||||||
|
Like.where(target_type: "Comment", target_id: id).destroy_all
|
||||||
|
ActsAsTaggableOn::Tagging.where(taggable_type: "Comment", taggable_id: id).destroy_all
|
||||||
|
end
|
||||||
|
|
||||||
|
after_destroy do
|
||||||
|
commentable.update_comments_counter
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class Like < ApplicationRecord
|
||||||
|
belongs_to :target, polymorphic: true
|
||||||
|
|
||||||
|
has_one :signature, class_name: "LikeSignature", dependent: :delete
|
||||||
|
|
||||||
|
after_destroy do
|
||||||
|
target.update_likes_counter
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class PollParticipation < ApplicationRecord
|
||||||
|
belongs_to :poll_answer, counter_cache: :vote_count
|
||||||
|
|
||||||
|
has_one :signature, class_name: "PollParticipationSignature", dependent: :delete
|
||||||
|
end
|
||||||
|
|
||||||
|
def up
|
||||||
|
Comment.joins("INNER JOIN comment_signatures as signature ON comments.id = signature.comment_id")
|
||||||
|
.where("signature.author_signature = ''").destroy_all
|
||||||
|
Like.joins("INNER JOIN like_signatures as signature ON likes.id = signature.like_id")
|
||||||
|
.where("signature.author_signature = ''").destroy_all
|
||||||
|
PollParticipation.joins("INNER JOIN poll_participation_signatures as signature " \
|
||||||
|
"ON poll_participations.id = signature.poll_participation_id")
|
||||||
|
.where("signature.author_signature = ''").destroy_all
|
||||||
|
end
|
||||||
|
end
|
||||||
Loading…
Reference in a new issue