Ändern Sie die Kategorie des verknüpften Chat-Kanals in der Rails-Konsole?

Update:
Ich habe meine Lösung gefunden und teile sie hier, da sie jemandem helfen könnte.

Haftungsausschluss:
Sie benötigen Zugriff auf Ihren Server und es ist hilfreich, wenn Sie verstehen, was Sie tun. Wenn nicht, empfehle ich, Hilfe von jemandem zu holen, der sich mit Servern und Ruby on Rails auskennt.
Seien Sie sich auch bewusst: Das Ändern von Daten in einer laufenden Datenbank kann Probleme verursachen.

Schritte:
Greifen Sie zuerst auf Ihren Server zu. Sobald Sie dort sind, werden Sie zum Root-Benutzer. Navigieren Sie zum Discourse-Container und betreten Sie ihn:

cd /var/discourse
./launcher enter app

Sobald Sie sich im Container befinden, öffnen Sie die Rails-Konsole:

rails c

Finden Sie nun in Ihrem Browser den Chat-Kanal-Slug. Sie finden ihn in der URL, z. B. wenn Sie den Chat-Kanal im Vollbildmodus öffnen:
https://my-example-forum.com/chat/c/cat-pictures/17

Holen Sie sich in der Rails-Konsole das gewünschte Chat-Kanal-Objekt und speichern Sie es in einer Variablen:

chat = Chat::Channel.find_by(slug: "cat-pictures")

Wenn Sie nun einfach die Variable chat eingeben und Enter drücken, können Sie das Objekt und alle seine Attribute sehen. Eines davon ist chatable_id. Dort sehen Sie die ID der Kategorie, mit der der Chat-Kanal verknüpft ist. Die chatable_id könnte beispielsweise auf 5 gesetzt sein.

Wir können diese chatable_id auf die ID der Kategorie ändern, der der Chat-Kanal entsprechen soll. Diese ID finden Sie in der URL der Kategorie im Browser:
https://my-example-forum.com/c/cats/9

Nachdem Sie die gewünschte Kategorie-ID kennen, können Sie die Kategorie, die mit dem Chat-Kanal verknüpft ist, anpassen:

chat.chatable_id=9
chat.save

Ich hoffe, das hilft.


Könnte auch relevant sein für How change a Chat Channel's category that it's linked to

2 „Gefällt mir“