Puoi provare a verificare qual è la correlazione tra questi utenti e il numero di utenti nella coda di revisione, per vedere se riesci a capire il meccanismo.
Lo farei io per te, ma non abbiamo lo stesso tipo di utenti nella nostra coda di revisione e, durante la migrazione, abbiamo disattivato questa funzione. In realtà, l’avevamo attiva (lo stesso problema che stai riscontrando tu), poi abbiamo semplicemente rieseguito la migrazione con l’impostazione disattivata (come Jeff ti ha suggerito in precedenza).\n
Detto questo, puoi provare a correlare i dati confrontando il numero totale di utenti che vedi nella coda di revisione con queste query:
User.where(active:false).count
ReviewableUser.count
Ad esempio, il nome del contenitore dell’app che sto guardando ora è: “socket1”:
ubuntu:# docker exec -it socket1 rails c
[1] pry(main)> User.where(active:false).count
=> 11
[2] pry(main)> ReviewableUser.count
=> 29
Se fossi in te, eseguirei le query sopra riportate, registrerei i numeri e li confronterei con quanto mostrato dalla tua interfaccia di amministrazione come numero di utenti da revisionare. Se noti una forte correlazione, puoi esaminare quei modelli per capire cosa modificare; quindi puoi provare su un singolo utente (non sull’intera tabella del database).
Poi, se riesci a cancellare il “flag reviewable” in questo modo con successo per un utente e tutto funziona, potrai procedere oltre.
Inoltre, come sai, assicurati di avere un backup completo e funzionante prima di apportare modifiche al database tramite una query.
Infine, potresti valutare di configurare un’istanza di staging o sviluppo, ripristinare il tuo database corrente su tale istanza e provare senza il timore di danneggiare il tuo sistema di produzione.
Spero che questo ti sia d’aiuto.
PS: Non dimenticare che puoi anche esaminare il codice su GitHub e cercare parole chiave lì, ecc.