Alterar a categoria vinculada ao canal de chat no console Rails?

Prezada comunidade Discourse,

não é possível na interface do usuário alterar a categoria vinculada a um canal de chat. Preciso mover um chat para uma categoria diferente.

Gostaria de saber se isso é possível através do console Rails ou se quebraria algo?

Quaisquer dicas sobre como proceder e experiências são bem-vindas.

Atualização:
Descobri minha solução e estou compartilhando aqui, pois pode ajudar alguém.

Aviso:
Você precisa de acesso ao seu servidor e é útil se você entender o que está fazendo. Caso contrário, recomendo procurar a ajuda de alguém que conheça servidores e Ruby on Rails.
Tenha também em mente: Alterar dados em um banco de dados em execução pode causar problemas.

Passos:
Primeiro, acesse seu servidor. Uma vez lá, torne-se um usuário root. Navegue até o contêiner do Discourse e entre nele:

cd /var/discourse
./launcher enter app

Uma vez dentro do contêiner, abra o console Rails:

rails c

Agora, no seu navegador, encontre o slug do canal de chat. Você pode encontrá-lo na URL, por exemplo, ao abrir o canal de chat em tela cheia:
https://my-example-forum.com/chat/c/cat-pictures/17

No console Rails, obtenha o objeto do canal de chat desejado e salve-o em uma variável:

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

Se agora você apenas digitar a variável chat e pressionar Enter, poderá ver o objeto e todos os seus atributos. Um deles é chatable_id. Lá você pode ver o ID da categoria à qual o canal de chat está vinculado. O chatable_id pode ser definido como 5, por exemplo.

Podemos alterar este chatable_id para o ID da categoria que você deseja que o canal de chat corresponda. Você pode encontrar este ID na URL da categoria no navegador:
https://my-example-forum.com/c/cats/9

Agora que você sabe o ID da categoria desejada, pode ajustar a categoria vinculada ao canal de chat:

chat.chatable_id=9
chat.save

Espero que isso ajude.


Pode também ser relevante para How change a Chat Channel's category that it's linked to

2 curtidas

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.