Wie kann man die Anzahl der Beiträge oder Reaktionen wiederherstellen?

Wenn ich die Anzahl der Reaktionen und die Zusammenfassung neu erstellen möchte, gibt es dafür eine Möglichkeit?

Wie: bundle exec rake reactions:recount

Würde dies durch den Hintergrundjob jobs::EnsureDbConsistency abgedeckt?

Du kannst ihn manuell über deine Seite /sidekiq/scheduler auslösen, wenn du ihn beschleunigen und sehen möchtest, ob er deine Zählungen neu aufbaut.

Wenn du jedoch etwas genauer erläutern kannst, warum du sie neu berechnen musst, könnte dies zusätzlichen Kontext liefern, der wichtig sein könnte.

2 „Gefällt mir“

Vielen Dank für Ihre Antwort. Ich habe den Testimport von Reaktionen von Xenforo nach Discourse durchgeführt. Die Daten wurden korrekt importiert, aber nicht auf Beiträgen mit Benutzernamen und allem angezeigt.

Habe es jetzt geschafft.

Dieses Skript wurde verwendet

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 „Gefällt mir“