J’ai récemment modifié le paramètre du site concernant le(s) groupe(s) autorisé(s) à utiliser Discourse Assign. Quelque chose s’est très mal passé lorsque j’ai cliqué sur le bouton de mise à jour, ce qui a fait tomber l’ensemble du site.
J’ai depuis désactivé Discourse Assign, ce qui a permis de remettre le site en ligne, mais je ne parviens pas à faire fonctionner à nouveau Discourse Assign. Lorsque je le réactive, le site tombe à nouveau, et je ne peux pas modifier les paramètres du site pour le plugin Discourse Assign.
En examinant les journaux d’erreurs, j’en vois deux :
ActiveRecord::StatementInvalid (PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "patently-staff"
LINE 1: ...RE "group_users"."user_id" = 1 AND (groups.id in ('patently-...
^
: SELECT 1 AS one FROM "groups" INNER JOIN "group_users" ON "groups"."id" = "group_users"."group_id" WHERE "group_users"."user_id" = 1 AND (groups.id in ('patently-staff')) LIMIT 1)
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-1.0.2/lib/patches/db/pg.rb:69:in `async_exec_params'
Et :
Failed to handle exception in exception app middleware : PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "patently-staff"
LINE 1: ...RE "group_users"."user_id" = 1 AND (groups.id in ('patently-...
^
: SELECT 1 AS one FROM "groups" INNER JOIN "group_users" ON "groups"."id" = "group_users"."group_id" WHERE "group_users"."user_id" = 1 AND (groups.id in ('patently-staff')) LIMIT 1
Le plugin discourse-assign est-il à jour sur votre instance ? Ou peut-être avez-vous forké le plugin il y a quelque temps ? Il y a eu un changement dans le plugin discourse-assign en juillet qui semble pertinent par rapport aux erreurs que vous rencontrez.
Hmm, je vois. Avez-vous modifié le paramètre avant ou après la mise à jour vers beta4 ?
Il semble que notre migration automatique n’ait pas réussi à mettre à jour votre paramètre. Je vais enquêter sur les raisons de cet échec. Avez-vous essayé de redémarrer le serveur avant d’activer le plugin, au cas où l’ancienne valeur aurait pu être mise en cache ? Faites-moi savoir si cela ne fonctionne pas, et je vous fournirai un script Ruby pour corriger manuellement le problème.
C’est arrivé avant ma mise à jour. Quelque chose d’étrange s’est produit lorsque j’ai ajouté le nouveau paramètre ; je pense avoir appuyé sur la coche verte avant d’avoir « ajouté » le nouveau nom de groupe.
Je ne suis pas sûr de savoir comment faire cela (soit dit en passant, j’ai peut-être mal exprimé ce que je voulais dire par « désactivé/activé » dans mon message initial — ce que je voulais dire, c’est que j’ai commenté l’URL git clone dans le fichier app.yml pour ajouter le plugin). Lorsque j’ajoute le plugin dans le fichier yml, le site plante immédiatement (et il était précédemment activé), donc je ne peux pas y accéder pour le désactiver… sauf si j’ai mal compris votre message ?
Cela pourrait bien être nécessaire, et ce serait grandement apprécié.
La réponse à la requête DB.query est :
=> [“staff”]
mais « Group.where(name: ‘staff’).pluck(:id).join(‘|’) » retourne “”.
D’ailleurs, sur la version « 2.4.0.beta1 +203 », les réponses sont similaires, mais la connexion via LDAP est possible. (version LDAP 0.4.0, version assign 0.1)