# Информация удаленного пользователя отображается при одобрении нового пользователя

**URL:** <https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720>\
**Category:** Bug\
**Created:** [22.Август.2020 00:19:21 UTC](https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720 "2020-08-22T00:19:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dave\_Olszewski](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dave_olszewski/32/191356_2.png) [@Dave\_Olszewski](https://meta.discourse.org/u/Dave_Olszewski)\
**Post date:** [22.Август.2020 00:19:21 UTC](https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720/1 "2020-08-22T00:19:21Z")

</div>

При настройке нового форума Discourse с включённой опцией «требовать одобрение пользователей» я обнаружил, что после создания и последующего удаления тестового пользователя тот же идентификатор пользователя был позже повторно использован при регистрации реального пользователя. Однако, поскольку в таблице `public.reviewables` осталась запись с тем же `target_id`, для второго пользователя не была создана новая запись. В результате интерфейс отображал уже удалённое имя пользователя при запросе на одобрение нового пользователя.

---

<div class="post-metadata">

**Author:** ![simon](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/simon/32/339122_2.png) [@simon](https://meta.discourse.org/u/simon)\
**Post date:** [23.Август.2020 23:27:51 UTC](https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720/2 "2020-08-23T23:27:51Z")

</div>

> [@Dave\_Olszewski](#):
>
> Я обнаружил, что после создания и последующего удаления тестового пользователя тот же самый идентификатор пользователя был позже повторно использован, когда зарегистрировался реальный пользователь.

Как вы удалили первоначального тестового пользователя? Это было сделано через интерфейс пользователя Discourse или через консоль Rails?

---

<div class="post-metadata">

**Author:** ![Dave\_Olszewski](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dave_olszewski/32/191356_2.png) [@Dave\_Olszewski](https://meta.discourse.org/u/Dave_Olszewski)\
**Post date:** [24.Август.2020 01:08:51 UTC](https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720/4 "2020-08-24T01:08:51Z")

</div>

Вся работа по управлению пользователями была выполнена через интерфейс.

---

<div class="post-metadata">

**Author:** ![Dave\_Olszewski](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/dave_olszewski/32/191356_2.png) [@Dave\_Olszewski](https://meta.discourse.org/u/Dave_Olszewski)\
**Post date:** [24.Август.2020 22:07:08 UTC](https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720/7 "2020-08-24T22:07:08Z")

</div>

Мне не удалось воспроизвести эту проблему, и, к сожалению, я не фиксировал все выполняемые шаги, так как только начинал изучать работу с Discourse. У меня есть текущие данные из таблиц `users` и `reviewables`, которые частично подтверждают то, что я наблюдал — возможно, там есть какая-то подсказка, а также логи nginx и rails.

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [28.Август.2020 06:51:35 UTC](https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720/8 "2020-08-28T06:51:35Z")

</div>

Мы используем последовательности PG для идентификаторов пользователей, и они всегда возрастают. Даже если вы откатите транзакцию, последовательность продолжит увеличиваться.

Нарушить это ограничение можно только при прямом вмешательстве в базу данных (например, сброс последовательности идентификаторов в таблице пользователей).

Я закрываю эту задачу до получения воспроизводимого примера. Если вы сможете воспроизвести эту ситуацию, пожалуйста, пометьте задачу для повторного открытия.

---

<div class="post-metadata">

**Author:** ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)\
**Post date:** [28.Август.2020 06:52:40 UTC](https://meta.discourse.org/t/deleted-user-info-shows-up-in-new-user-approval/161720/10 "2020-08-28T06:52:40Z")

</div>


