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

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

2 лайка

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

2 лайка

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

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

2 лайка

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

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

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

1 лайк