Hallo, ich habe jetzt 2 Testinstallationen mit dem Backup von meiner Drupal-Migration durchgeführt, die ich auf frischen Discourse-Instanzen auf einem anderen VPS mit korrekt konfiguriertem FQDN und funktionierender E-Mail wiederhergestellt habe. Die Importer-Instanz verwendete nur die IP-Adresse des VPS und hatte keine E-Mail konfiguriert. Ich bin mir nicht sicher, ob das etwas mit diesem Problem zu tun hat, aber bei beiden Tests meiner Backup-Wiederherstellung, nachdem die Wiederherstellung abgeschlossen ist und mich zur Seite zur Erstellung des Admin-Kontos bringt, kann ich das Konto nicht aktivieren, da keine E-Mail gesendet wird. Ich konnte dies mit: ./launcher enter app, rake admin:create umgehen. Danach kann ich mich in die Web-App einloggen und E-Mail-Tests erfolgreich durchführen, und wenn ich E-Mails für alle Benutzer aktiviere, können die anderen Benutzerkonten erfolgreich die E-Mail zum Zurücksetzen des Passworts empfangen. Dies scheint also ein Fehler in der Standardeinstellung nach der Wiederherstellung zu sein, bei der keine E-Mails an Nicht-Mitarbeiter gesendet werden. Ich denke, es sollte die als Admin-Benutzer definierten E-Mail-Adressen auch vor der Validierung ihrer Konten als Mitarbeiter betrachten.
Das deutet darauf hin, dass das Importskript kein Administratorkonto erstellt hat. Wenn Sie sich einfach anmelden und/oder ein Konto mit der E-Mail-Adresse developer_email erstellen, sind Sie in Ordnung.
Das liegt wahrscheinlich daran, dass die Wiederherstellung des Backups die E-Mail für Nicht-Mitarbeiter deaktiviert hat und dieser Benutzer kein Mitarbeiter ist.
Vielleicht? Es ist sicherlich ein Henne-Ei-Problem bei einer neuen Website und einer Migration. Ich denke, wenn Sie Ihren Benutzer zu developer_emails hinzufügen, wird es funktionieren.
Das andere, was Sie tun können, ist, etwas wie das Folgende zu Ihrem Skript hinzuzufügen:
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`)
Danke für die Antwort, Jay. Ja, das scheint passiert zu sein. Und doch habe ich nach der Aktivierung meines temporären neuen Admin-Accounts über die Konsole und der Überprüfung der Benutzerliste gesehen, dass mein vorheriger Drupal-Benutzername mit Drupal-Admin-Berechtigungen automatisch den Discourse-Admin-Status erhalten hat.
In meiner app.yml habe ich:
DISCOURSE_DEVELOPER_EMAILS: 'new-discourse-user@email.com,old-drupal-user@email.com'
Ja. Ich vermute, dass ein Benutzer kein Mitarbeiter ist, bis das Konto aktiviert ist. Was ich normalerweise tue, ist, eine Google-Authentifizierung auf meinen Importseiten zu verwenden und sicherzustellen, dass die Personen, die sich anmelden können sollen, in DEVELOPER_EMAILS aufgeführt sind und eine Gmail-Adresse haben.