Hola, he realizado 2 instalaciones de prueba con la copia de seguridad de mi migración de Drupal, que restauré en instancias nuevas de Discourse en un VPS diferente con FQDN correctamente configurado y correo electrónico funcionando. La instancia importadora solo estaba usando la dirección IP del VPS y no tenía el correo electrónico configurado. No estoy seguro de si eso tiene algo que ver con este problema, pero en mis dos pruebas de restauración de copia de seguridad, después de que la restauración se completa y me lleva a la página de creación de cuentas de administrador, no puedo activar la cuenta porque no envía el correo electrónico. Pude solucionar esto con: launcher enter app, rake admin:create. Después de eso, puedo iniciar sesión en la aplicación web y ejecutar pruebas de correo electrónico con éxito, y si habilito los correos electrónicos para todos los usuarios, las otras cuentas de usuario pueden recibir con éxito el correo electrónico de restablecimiento de contraseña olvidada. Por lo tanto, esto parece ser un error con la configuración predeterminada después de la restauración de no enviar correos electrónicos a los no administradores. Supongo que debería considerar las direcciones de correo electrónico definidas como usuarios administradores como personal incluso antes de que sus cuentas sean validadas.
Eso sugiere que el script de importación no creó una cuenta de administrador. Si simplemente inicias sesión y/o creas una cuenta usando la dirección de correo electrónico developer_email, estarás bien.
Eso es probablemente porque al restaurar la copia de seguridad se desactivó el correo electrónico para los no empleados y ese usuario no es un empleado.
¿Quizás? Es ciertamente un problema de huevo o gallina con un sitio nuevo y una migración. Creo que si agregas tu usuario a developer_emails, funcionará.
Otra cosa que puedes hacer es agregar algo como esto a tu 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`)
Gracias por tu respuesta Jay. Sí, eso parece ser lo que sucedió. Y sin embargo, de alguna manera, después de usar la consola para activar mi nueva cuenta de administrador temporal y verificar la lista de usuarios, vi que mi nombre de usuario anterior de Drupal, que tenía permisos de administrador de Drupal, recibió automáticamente el estado de administrador de Discourse.
En mi app.yml tengo:
DISCOURSE_DEVELOPER_EMAILS: 'new-discourse-user@email.com,old-drupal-user@email.com'
Sí. Sospecho que un usuario no es personal hasta que la cuenta se activa. Lo que suelo hacer es usar la autenticación de Google en mis sitios de importación y asegurarme de que las personas que quiero que puedan iniciar sesión estén en DEVELOPER_EMAILS y tengan una dirección de Gmail.