Automatische Übertragung von Themes

Hallo,

gibt es einen Mechanismus (oder eine Abfrage), mit dem sich alle Nutzer, die aktuell das Theme ID X aktiviert haben, einfach auf Theme ID Y umstellen lassen?

Ich habe derzeit Theme X, das aus einer Reihe unübersichtlicher Komponenten besteht, und möchte es durch ein identisches Theme Y ersetzen, das mit GitHub verknüpft ist. Allerdings möchte ich nicht, dass Nutzer, die Theme X ausgewählt haben, einen Unterschied bemerken (d. h. ich kann es nicht einfach löschen und alle auffordern, Y auszuwählen).

Jede Hilfe wäre willkommen :grin:

Ich könnte das GitHub-Theme als neue Komponente importieren und sie zur einzigen Komponente von Theme X machen. (Zumindest denke ich, dass das funktionieren würde?) Aber das scheint mir nicht die eleganteste Lösung zu sein.

Das sollte reichen, aber du solltest zuerst ein Backup erstellen.

In Rails einsteigen

cd /var/discourse
./launcher enter app

Führe diese Befehle aus

old_id=2
new_id=21
UserOption.where(theme_ids: [old_id]).update_all(theme_ids: [new_id])

Super, danke!