在某个用户资料中,电子邮件地址列表里出现了完全相同的邮箱地址两次。第一条标记为“主邮箱”,第二条标记为“未确认”。
用户既无法删除第二个地址,也无法确认它(因为系统中已存在使用该地址的用户……)。我也无法删除它(DELETE 请求返回 428 响应)。
我尝试搜索了数据库,但 user_emails 表中只列出了一条记录。请问这种情况是如何发生的,又该如何解决?
这可能是索引损坏所致。请问您使用的 Discourse 和 Postgres 版本分别是多少?
您是否启用了社交登录?一种可能性是:用户尝试使用该邮箱地址注册,但未响应验证邮件,随后改用社交登录。
我建议在 Rails 控制台中尝试修复,或者直接通过 SQL 进行修复。
除了邮箱地址显示两次令人困惑之外,实际上并没有其他问题,对吗?用户仍然可以登录,只是个人资料中多了一个邮箱地址。
13.1-1.pgdg100+1)是的,已启用。该用户未关联任何社交账号,因此目前无法使用——据我理解。
我尝试过了,但在 SQL 中找不到重复的地址。user_emails 表中该用户仅有一行记录,user_open_ids 和 user_associated_accounts 表中也没有相关条目。请问应该在哪里进一步查找?
没错。我担心这可能是某个问题的征兆,将来可能会引发更严重的问题,而我们现在可以尽早修复。