Hola, de alguna manera, no preguntes por qué, me encuentro en la siguiente situación:
Como administrador, tengo tres direcciones de correo electrónico listadas:
Principal: la correcta
Secundaria: la misma, pero no confirmada
Tercera: realmente una dirección secundaria diferente y confirmada.
Al entrar en la consola de Rails, puedo buscar el ID del usuario, pero no sé cómo listar las múltiples direcciones de correo electrónico alternativas ni eliminar una de ellas. A través de la interfaz de usuario no funciona, probablemente porque las direcciones de correo electrónico son idénticas.
Hola, sí, eso es exactamente lo que estoy intentando hacer. En la consola puedo buscar al usuario. Pero no sé cómo consultar las direcciones de correo electrónico múltiples y eliminar las redundantes.
Cuando selecciono al usuario, no veo los correos electrónicos; deben estar en algún otro registro.
Las direcciones de correo electrónico se encuentran en la tabla user_emails. Puedes localizarlas usando el ID del usuario:
UserEmail.where(user_id: <user_id>)
Sustituye <user_id> en el comando anterior por el ID del usuario.
Busca el valor id del registro UserEmail que deseas eliminar. Con ese ID, ejecuta lo siguiente para obtener el registro individual que quieres eliminar:
Verifica el resultado devuelto para confirmar que es el correo electrónico que deseas eliminar. Luego ejecuta:
identical_email.destroy
Antes de ejecutar cualquier comando destructivo desde la consola, es buena idea crear una copia de seguridad de la base de datos de tu sitio. Si algo sale mal, podrás restaurar la copia de seguridad.
Muchas gracias, al final solo pude obtener un ID de correo electrónico para los duplicados. Supongo que el no confirmado que no pude eliminar aún no se había registrado con ese ID. ¿Quizás está en un estado intermedio debido a un proceso de validación incompleto?
Lo que hice para resolverlo fue cambiar el principal por una de las dos direcciones de correo electrónico alternas. El duplicado no confirmado seguía sin poder eliminarse, pero al borrar el confirmado (ahora el correo anterior principal), también se eliminó el duplicado no confirmado.
Luego agregué la dirección de correo electrónico original como secundaria y después la cambié a principal.