Salut, j’ai maintenant effectué 2 installations de test avec la sauvegarde de ma migration Drupal, que j’ai restaurée sur de nouvelles instances Discourse dans un VPS différent avec FQDN correctement configuré et email fonctionnel. L’instance d’importation utilisait simplement l’adresse IP du VPS et n’avait pas d’email configuré. Je ne suis pas sûr si cela a quelque chose à voir avec ce problème, mais dans mes deux tests de restauration de sauvegarde, après que la restauration soit terminée et qu’elle m’amène à la page de création de compte administrateur, je ne peux pas activer le compte car l’email n’est pas envoyé. J’ai pu contourner cela avec : ./launcher enter app, rake admin:create. Après cela, je peux me connecter à l’application web et exécuter avec succès des tests d’email, et si j’active les emails pour tous les utilisateurs, les autres comptes utilisateurs peuvent recevoir avec succès l’email de réinitialisation de mot de passe oublié. Cela semble donc être un bug avec le paramètre par défaut après la restauration, qui n’envoie pas d’emails aux non-membres du personnel. Je suppose qu’il devrait considérer les adresses email définies comme utilisateurs administrateurs comme faisant partie du personnel, même avant que leurs comptes ne soient validés.
Cela suggère que le script d’importation n’a pas créé de compte administrateur. Si vous vous connectez et/ou créez un compte en utilisant l’adresse e-mail developer_email, tout ira bien.
C’est probablement parce que la restauration de la sauvegarde a désactivé les e-mails pour les non-employés et que cet utilisateur n’est pas un employé.
Peut-être ? C’est certainement un problème d’œuf ou de poule avec un nouveau site et une migration. Je pense que si vous ajoutez votre utilisateur à developer_emails, cela fonctionnera.
L’autre chose que vous pouvez faire est d’ajouter quelque chose comme ceci à votre script :
User.create(username: 'pat-the-admin', email: 'pat@user.com',password: 'very-safe-123', active: true, name: "Pat User") unless User.find_by_email('pat@user.com`)
Merci pour votre réponse Jay. Oui, c’est ce qui semble s’être passé. Et pourtant, après avoir utilisé la console pour activer mon nouveau compte administrateur temporaire et vérifié la liste des utilisateurs, j’ai vu que mon ancien nom d’utilisateur Drupal qui avait les permissions d’administrateur Drupal avait automatiquement reçu le statut d’administrateur Discourse.
Dans mon app.yml, j’ai :
DISCOURSE_DEVELOPER_EMAILS: 'new-discourse-user@email.com,old-drupal-user@email.com'
Oui. Je suppose qu’un utilisateur n’est pas considéré comme du personnel tant que le compte n’est pas activé. Ce que je fais habituellement, c’est utiliser une authentification Google sur mes sites d’importation et m’assurer que les personnes que je veux pouvoir se connecter sont dans DEVELOPER_EMAILS et ont une adresse Gmail.