# 因数据库损坏导致大量用户账户异常

**URL:** <https://meta.discourse.org/t/so-many-broken-users-due-to-corrupt-database/135779>\
**Category:** Product Support\
**Created:** [2019 年12 月 12 日 16:32 UTC](https://meta.discourse.org/t/so-many-broken-users-due-to-corrupt-database/135779 "2019-12-12T16:32:12Z")\
**Posts on this page:** 1\
**Showing post:** 7

<div class="post-metadata">

作者： ![hosna](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/hosna/32/99969_2.png) [@hosna](https://meta.discourse.org/u/hosna)\
发布日期： [2019 年12 月 14 日 08:41 UTC](https://meta.discourse.org/t/so-many-broken-users-due-to-corrupt-database/135779/7 "2019-12-14T08:41:33Z")

</div>

顺便提一下，在 @RGJ 的帮助下，我们已将问题锁定为以下两个条件：

> [@RGJ](#):
>
> 存在两个不同的问题：
> 
> - 无法通过用户名找到，但可以通过用户 ID 找到的用户（例如 mojtaba11）
> - 无法通过 username\_lower 找到，但可以通过 username 找到的用户（例如 alireza6）
> 
> 参见：
> 
> ```plaintext
> irb(main):002:0> User.username_available?('Alireza6')                                                                                                              
> => true
> irb(main):004:0> User.username_exists?('alireza6')                                                                                                                 
> => false
> irb(main):006:0> DB.exec(User::USERNAME_EXISTS_SQL, username: 'alireza6')                                                                                         
> => 0
> discourse=> select username, username_lower from users where username_lower='alireza6';                                                                           
> username | username_lower 
> ----------+----------------
> (0 rows)
> 
> discourse=> select username, username_lower from users where username='Alireza6';
> username | username_lower 
> ----------+----------------
> Alireza6 | alireza6
> (1 row)
> 
> ```

---

_[View the full topic](https://meta.discourse.org/t/so-many-broken-users-due-to-corrupt-database/135779)._
