Ciao, in qualche modo, senza chiedermi il perché, mi trovo nella situazione in cui:
Io, come amministratore, ho tre indirizzi e-mail elencati:
Primario: quello corretto
Secondario: lo stesso, ma non confermato
Terzo: davvero un indirizzo secondario diverso e confermato.
Entrando nella console di rails posso recuperare l’ID utente, ma non so come elencare i vari indirizzi e-mail alternativi e rimuoverne uno. Tramite l’interfaccia utente non funziona, probabilmente perché gli indirizzi e-mail sono identici.
Ciao, sì, è esattamente quello che sto cercando di fare. Nella console riesco a cercare l’utente. Ma non so come interrogare per ottenere i vari indirizzi email e rimuovere quelli duplicati.
Quando seleziono l’utente, non vedo gli indirizzi email; devono essere in qualche altro record.
Gli indirizzi email si trovano nella tabella user_emails. Puoi individuarli utilizzando l’ID dell’utente:
UserEmail.where(user_id: <user_id>)
Sostituisci <user_id> nel comando sopra con l’ID dell’utente.
Trova il valore id del record UserEmail che desideri rimuovere. Con quell’ID, esegui il seguente comando per restituire il record specifico da eliminare:
Verifica attentamente il risultato restituito per confermare che si tratti dell’email che vuoi rimuovere. Quindi esegui:
identical_email.destroy
Prima di eseguire qualsiasi comando distruttivo dalla console, è buona norma creare un backup del database del sito. In caso di problemi, potrai ripristinare il backup.
Grazie mille, alla fine ho potuto recuperare solo un ID email per quelli duplicati. Penso che quello non confermato che non sono riuscito a rimuovere non fosse ancora associato a quell’ID? Probabilmente è in una fase sospesa con un processo di convalida incompleto?
Per risolvere ho impostato come primaria la seconda delle due email alternative. Il duplicato non confermato non è stato ancora eliminabile, ma quando ho cancellato quella confermata (ora ex-email primaria), anche il duplicato non confermato è stato rimosso.
Poi ho aggiunto l’indirizzo email originale come secondario e successivamente l’ho impostato come primaria.