削除されたユーザー情報が新規ユーザー承認に表示される

「ユーザーの承認が必要」を有効にして新しい Discourse をセットアップした際、テストユーザーを作成して削除した後、同じユーザーIDが実際にユーザーがサインアップした際に再利用されることに気づきました。しかし、public.reviewables テーブルに同じ target_id を持つ行が残留していたため、2 番目のユーザーには新しい行が作成されませんでした。その結果、UI は削除されたユーザー名を表示し、新しいユーザーの承認を促す際にその名前を参照してしまいました。

「いいね!」 2

最初のテストユーザーをどのように削除しましたか?Discourseのユーザーインターフェース経由でしたか、それともRailsコンソールからでしたか?

「いいね!」 2

すべてのユーザー管理は UI 上で行われました

この問題は再現できませんでした。Discourseの運用について学び始めたばかりだったため、残念ながら実行した手順をすべて詳細に記録していませんでした。ただし、users テーブルと reviewables テーブルの現在の記録は、私が目撃した現象を部分的に裏付けています。そこに手がかりがあるかもしれません。また、nginx と Rails のログも用意されています。

「いいね!」 2

ユーザーIDにはPostgreSQLのシーケンスを使用しており、常に増加します。トランザクションをロールバックしても、シーケンスは増加し続けます。

この制約を破るには、直接データベースを操作する必要があります(例えば、ユーザーテーブルのIDシーケンスのリセットなど)。

再現例がないため、この件をクローズします。もしこの状況を再現できる場合は、再オープンするようフラグを立ててください。

「いいね!」 1