Olá,
Estou tendo um problema com o admin_detailed_user_serializer que está causando erros 500 quando um administrador tenta visualizar um usuário na pesquisa de usuários. O erro 500 também está ocorrendo ao fazer chamadas de API GET para https://mycommunity/admin/users/2000020409.json. Abaixo está a exceção dos logs. Cerca de 50% dos usuários estão tendo esse erro. Tentei comparar usuários que funcionam com os que não funcionam no banco de dados, mas não consigo descobrir qual é o problema. Suspeito que algo que fiz durante uma migração de usuários de outro sistema causou esse problema.
Abaixo estão as etapas da minha migração de dados:
- Inseri manualmente dados nas tabelas
users,user_profiles,user_emailseuser_stats. - Inicialmente, todos os usuários tinham um e-mail ‘someid@example.com’.
- Em seguida, atualizei a tabela
user_emailpara que o usuário tivesse o e-mail correto. - Após este ponto, notei que 50% desses usuários não podem ser visualizados na lista de usuários do administrador. No entanto, se você clicar com o botão direito do mouse no nome deles na lista de perfis, para que o cartão de perfil apareça, você pode clicar nele e acessar o perfil sem problemas. Você pode fazer atualizações no perfil, mas se tentar tornar alguém um administrador, receberá o mesmo erro 500 que listei abaixo.
Alguém sabe o que este código está verificando? Imagino que alguns usuários devem estar faltando uma peça crítica de dados que está causando essa exceção 500. Alguém tem alguma ideia? Sou novo no Discourse e qualquer conselho seria muito apreciado.
Obrigado!
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