Converti argomenti in PM in blocco

Ho intenzione di convertire un gruppo di argomenti in messaggi privati di gruppo per deprecare alcune categorie poco utilizzate. Non possiamo farlo tramite l’interfaccia utente (solo uno per volta), né riesco a trovare un modo per farlo in blocco.

Per quanto ne so, questo dovrebbe funzionare tramite la console:

  1. Identifica gli argomenti per la loro categoria
  2. Cambia topic.archetype in private_message
  3. Cambia topic.subtype in ‘user_to_user’
  4. Rendi topic.category Null
  5. In topic_groups (o forse topic_allowed_groups), aggiungi una riga con il group_id e il topic_id pertinenti

Questo approccio ha senso? Devo prima capire la differenza tra quelle tabelle topic/groups. E farlo prima in un ambiente sandbox!!

1 Mi Piace

Potrebbe funzionare. Inoltre, se non lo sai, puoi fare qualcosa come

 topics = Topic.where(category: 10)

  topics.update_all(archetype: xxx, topic_category: nil)

O qualcosa del genere. Se sapevi di update_all, questa non è una novità.

2 Mi Piace

Grazie Jay! Sarebbe bello e veloce per la prima metà. Tuttavia, devo anche assicurarmi che finiscano come Group PM.

Hai qualche idea su cosa devo fare con le tabelle topic_groups / topic_allowed_groups? Non credo di poter cavarmela con un update_all per loro.

1 Mi Piace