Aqui está um exemplo de uma operação em massa para definir o nível de confiança como 2 para todos os usuários atualmente no nível de confiança 0 ou 1:
Isso é lento, mas aciona corretamente todos os efeitos colaterais (atualizações de associação a grupos, concessão de emblemas e registro de logs). Pode ser preferível, especialmente quando você tem menos de 1000 usuários. Nota: isso não pula usuários com níveis de confiança bloqueados manualmente — adicione .where(manual_locked_trust_level: nil) à consulta se você quiser ignorá-los.
User.where(trust_level: [0, 1]).find_each do |user|
user.change_trust_level!(TrustLevel[2])
end
Se houvesse mais de 1000 usuários, eu teria usado isto em vez disso, mas isso ignora todos os efeitos colaterais (atualizações de grupo, emblemas, registro de logs) e não respeita os níveis de confiança bloqueados.
DB.exec("UPDATE users SET trust_level = 2 WHERE trust_level IN (0, 1)")