¿Cómo se reconstruye el recuento de publicaciones o reacciones?

Si quiero reconstruir el recuento de reacciones y el resumen, ¿hay alguna manera de hacerlo?

Como: bundle exec rake reactions:recount

¿Estaría esto cubierto por el trabajo en segundo plano jobs::EnsureDbConsistency?

Puedes activarlo manualmente desde tu página /sidekiq/scheduler si quieres acelerarlo y ver si eso reconstruye tus conteos.

Sin embargo, si puedes dar un poco más de detalle sobre por qué necesitas recalcularlos, podría agregar algo de contexto adicional que podría ser importante.

2 Me gusta

Gracias por tu respuesta. Estaba haciendo la importación de prueba de reacciones de Xenforo a Discourse. Los datos se importaron correctamente pero no aparecen en las publicaciones con nombre de usuario y todo.

Ya lo he conseguido.

Usé este script

RAILS_ENV=production bundle exec rails runner "

  counts = DiscourseReactions::ReactionUser.group(:reaction_id).count

  DiscourseReactions::Reaction.where(id: counts.keys).find_each do |reaction|
    reaction.update_column(:reaction_users_count, counts[reaction.id])
  end

  posts_to_update = Post.where(id: DiscourseReactions::Reaction.select(:post_id).distinct)

  posts_to_update.find_each do |post|
    post_reactions = post.reactions.where('reaction_users_count > 0')

    custom_field_value = post_reactions.map do |reaction|
      {
        id: reaction.reaction_value,
        type: reaction.reaction_type,
        count: reaction.reaction_users_count
      }
    end

    if custom_field_value.present?
      post.custom_fields['discourse_reactions_reactions'] = custom_field_value.to_json
    else
      post.custom_fields.delete('discourse_reactions_reactions')
    end

    post.save_custom_fields(true)

"
2 Me gusta