Hola,
Tengo un problema con el admin_detailed_user_serializer que está causando errores 500 cuando un administrador intenta ver a un usuario desde la búsqueda de usuarios. El error 500 también ocurre al realizar llamadas API GET a https://mycommunity/admin/users/2000020409.json. A continuación, se muestra la excepción de los registros. Aproximadamente el 50% de los usuarios tienen este error. Intenté comparar usuarios que funcionan con los que no funcionan en la base de datos, pero no puedo determinar cuál podría ser el problema. Sospecho que algo que hice durante una migración de usuarios de otro sistema causó este problema.
A continuación, se detallan los pasos de mi migración de datos:
- Se insertaron datos manualmente en las tablas
users,user_profiles,user_emailsyuser_stats. - Inicialmente, todos los usuarios tenían un correo electrónico ‘someid@example.com’.
- Luego, actualicé la tabla
user_emailpara que el usuario tuviera el correo electrónico correcto. - Después de este punto, noté que el 50% de estos usuarios no se pueden ver desde la lista de usuarios del administrador. Sin embargo, si haces clic derecho en su nombre en la lista de perfiles, para que aparezca la tarjeta de perfil, puedes hacer clic allí y acceder al perfil sin problemas. Puedes realizar actualizaciones en el perfil, pero si intentas convertir a alguien en administrador, obtendrás el mismo error 500 que se indica a continuación.
¿Alguien sabe qué está comprobando este código? Supongo que a algunos usuarios les debe faltar una pieza crítica de datos que está causando esta excepción 500. ¿Alguien tiene alguna suposición? Soy nuevo en Discourse y cualquier consejo sería muy apreciado.
¡Gracias!
app/serializers/admin_user_list_serializer.rb:95:in `time_read'
(eval):27:in `_fast_attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in `rescue in attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:455:in `attributes'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in `_serializable_hash'
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in `serializable_hash'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:89:in `block in _serializable_array'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
activerecord (7.0.4.3) lib/active_record/relation/delegation.rb:88:in `each'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `map'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:79:in `_serializable_array'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:73:in `serializable_array'
active_model_serializers (0.8.4) lib/active_model/array_serializer.rb:53:in `as_json'
app/serializers/admin_detailed_user_serializer.rb:166:in `similar_users'
(eval):72:in `_fast_attributes'
active_model_serializers (0.8.4