Sha256: c0d8552ab2c765b1028336b834c8c4a3d6d02d17e3318f9dfaf327674f58f11c

Contents?: true

Size: 613 Bytes

Versions: 4

Compression:

Stored size: 613 Bytes

Contents

class UpdateRootCommentableForComments < ActiveRecord::Migration[5.0]
  def up
    Decidim::Comments::Comment.where(depth: 0).update_all(
      "decidim_root_commentable_id = decidim_commentable_id, decidim_root_commentable_type = decidim_commentable_type"
    )

    Decidim::Comments::Comment.where("depth > 0").find_each do |comment|
      comment.root_commentable = root_commentable(comment)
      comment.save(validate: false)
    end
  end

  def down
  end

  private

  def root_commentable(comment)
    return comment.commentable if comment.depth.zero?
    root_commentable comment.commentable
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
decidim-comments-0.2.0 db/migrate/20170510091348_update_root_commentable_for_comments.rb
decidim-0.2.0 decidim-comments/db/migrate/20170510091348_update_root_commentable_for_comments.rb
decidim-comments-0.1.0 db/migrate/20170510091348_update_root_commentable_for_comments.rb
decidim-0.1.0 decidim-comments/db/migrate/20170510091348_update_root_commentable_for_comments.rb