En utilisant certaines options de Discourse, il vous est parfois demander d’entrer dans la console pour exécuter une commande spécifique. La plus connue était le posts rebake qui permet à Discourse de recharger les messages. Comment entrer dans l’application ? Comment exécuter ces commandes ? Voyons ça !
Quelques options faisant référence à la fonction rake
Entrer dans l’application
Il faudra tout d’abord vous connecter à votre serveur comme vous devez le faire pour installer Discourse ou un plugin. Si vous êtes sur PC, vous pouvez suivre ce guide sur l’utilisation de putty.
Une fois connecté au serveur, voici les commandes à effectuer
cd /var/discourse ./launcher enter app
Et si on vous demander d’entrer dans la console rails, il faut entrer une nouvelle commande :
rails c
Et c’est tout ! Vous pouvez l’application ou la console rails à tout moment en entrant la commande exit
(une fois si vous n’êtes que dans l’application, deux fois si vous étiez dans la console rails)
Exécuter une commande
Prenons quand même deux exemples. Dans ce premier cas on va entrer dans l’application uniquement pour faire un rebake des messages.
cd /var/discourse ./launcher enter app
Si vous exécutez pour la première fois la commande enter app, vous aurez un petit téléchargement de la base image. C’est normal et ça ne prendra que quelques secondes.
rake posts:rebake
Après l’exécution de cette commande, un compteur va se mettre en marche. Si vous avez un forum très animé, cela peut prendre quelques heures. Dans mon exemple, j’ai utilisé un petit forum qui ne possédait que 368 messages, cela a duré quelques secondes uniquement.
Voici comment faire un rake posts:rebake
Les posts ont été rechargé, vous pouvez quitter l’application en tapent exit
et fermer le terminal en tapant à nouveau exit
.
Deuxième exemple, pour une raison ou une autre, vous devez entrer dans la console rails et y exécuter une action. J’ai pris le premier exemple que j’ai trouvé : si on veut déconnecter tous les utilisateurs : https://meta.discourse.org/t/how-to-logout-all-users-through-the-rails-console/93239
cd /var/discourse ./launcher enter app rails c
On entre dans l’application puis la console rails
Et je tape la commande suggérée :
UserAuthToken.destroy_all
Une fois la commande exécutée, vous pouvez quitter la console en tapant exit
. Une seconde fois pour quitter l’app, et une troisième pour fermer le terminal.
On est entré dans l’application pour exécuter une action.
Avant de jouer avec ces commandes, soyez sûrs de la fiabilité de celles-ci. Une mauvaise commande pourrait causer des dégâts à votre forum ou sa base de données.