Aprovando um novo usuário com o console do ruby - 20200613.042854

Isso funcionava por volta de março e agora está falhando por algum motivo.

ReviewableUser.find_by(target:user).perform(csmu, :approve_user)
NoMethodError: undefined method `perform' for nil:NilClass

user e csmu são objetos válidos.
Estamos na versão 2.4.0.beta11 e planejamos migrar para a última beta na próxima semana.

Alguma ideia?

Olá @Keith,

Minha sugestão é configurar a versão mais recente do Discourse em um servidor de staging e restaurar o banco de dados dessa instância do Discourse no servidor de staging com um backup completo (incluindo uploads) da sua versão atual de produção.

Em seguida, você pode testar essa instância de staging primeiro em um ambiente de staging seguro e ver como funciona.

É isso que fazemos.

Espero que isso ajude.

Acho que o problema foi resolvido ao não ativar o usuário.

O seguinte funcionou:

admin_user = User.find_by_username('{{admin_username}}')

user = User.create
user.name = '{{name}}'
user.username = '{{username}}'
user.email = '{{email}}'
user.password = '{{password}}'
user.activate
user.admin = true
user.moderator = true
user.save!

ReviewableUser.find_by(target:user).perform(admin_user, :approve_user)