Вы можете попробовать проверить, какая существует корреляция между этими пользователями и количеством пользователей в очереди на ревью, и посмотреть, сможете ли вы разобраться.
Я бы сделал это за вас, но у нас в очереди на ревью нет пользователей того же класса, а при миграции мы это отключили. На самом деле, у нас это было включено (та же проблема, что и у вас), но затем мы просто перезапустили миграцию с отключённой настройкой (как Джефф вам ранее предлагал).
Тем не менее, вы можете попробовать установить корреляцию, сравнив общее количество пользователей, которое вы видите в очереди на ревью, с результатами следующих запросов:
User.where(active:false).count
ReviewableUser.count
Например, имя контейнера с приложением, которое я сейчас рассматриваю, — “socket1”:
ubuntu:# docker exec -it socket1 rails c
[1] pry(main)> User.where(active:false).count
=> 11
[2] pry(main)> ReviewableUser.count
=> 29
На вашем месте я бы выполнил эти запросы, зафиксировал полученные числа и сравнил их с тем, что показывает административный интерфейс как количество пользователей, требующих ревью. Если вы обнаружите сильную корреляцию, вы можете изучить эти модели, чтобы понять, что нужно изменить, а затем протестировать это на одном пользователе (не на всей таблице БД).
Затем, если вы сможете таким образом успешно сбросить «флаг ревьюбельности» для одного пользователя и всё сработает, вы сможете масштабировать решение.
Кроме того, как вы знаете, убедитесь, что у вас есть полная рабочая резервная копия перед внесением изменений в БД с помощью запросов.
Наконец, вам стоит рассмотреть возможность настройки тестового/разработческого экземпляра, восстановления вашей текущей БД на этот экземпляр, а затем вы сможете экспериментировать без риска повредить вашу продакшн-систему.
Надеюсь, это поможет.
PS: Не забудьте, что вы также можете просмотреть код на GitHub и поискать там ключевые слова и т.д.