Massenkonvertierung von Themen in PMs

Ich plane, eine Reihe von Themen in Gruppen-PMs umzuwandeln, um einige kaum genutzte Kategorien abzuschaffen. Dies können wir nicht über die Benutzeroberfläche tun (nur einzeln), noch kann ich eine Massenmethode dafür finden.

Soweit ich das beurteilen kann, sollte dies über die Konsole funktionieren:

  1. Identifizieren Sie die Themen anhand ihrer Kategorie.
  2. Ändern Sie topic.archetype zu private_message.
  3. Ändern Sie topic.subtype zu ‘user_to_user’.
  4. Setzen Sie topic.category auf Null.
  5. Fügen Sie in topic_groups (oder vielleicht topic_allowed_groups) eine Zeile mit der relevanten group_id und topic_id hinzu.

Macht dieser Ansatz Sinn? Ich muss natürlich zuerst den Unterschied zwischen diesen Themen-/Gruppentabellen herausfinden. Und das Ganze zuerst in einer Sandbox ausprobieren!!

1 „Gefällt mir“

Das könnte funktionieren. Außerdem, wenn Sie es nicht wissen, können Sie so etwas tun

 Themen = Thema.where(Kategorie: 10)

  Themen.update_all(Archetyp: xxx, Themenkategorie: nil)

Oder so etwas. Wenn Sie von update_all wussten, ist das keine Neuigkeit.

2 „Gefällt mir“

Danke, Jay! Das wäre für die erste Hälfte schön und schnell. Ich muss jedoch auch sicherstellen, dass sie am Ende als Gruppen-PMs fungieren.

Haben Sie eine Idee, was ich mit den Tabellen topic_groups / topic_allowed_groups machen muss? Ich glaube nicht, dass ich mit einem update_all davonkomme.

1 „Gefällt mir“