Aquí hay un ejemplo de una operación masiva para establecer el nivel de confianza en 2 para todos los usuarios que actualmente están en el nivel de confianza 0 o 1:
Esto es lento, pero activa correctamente todos los efectos secundarios (actualizaciones de membresía de grupo, concesión de insignias y registro). Puede ser preferible especialmente cuando tienes menos de 1000 usuarios. Nota: esto no omite a los usuarios con niveles de confianza bloqueados manualmente: añade .where(manual_locked_trust_level: nil) a la consulta si deseas omitirlos.
User.where(trust_level: [0, 1]).find_each do |user|
user.change_trust_level!(TrustLevel[2])
end
Si hubiera más de 1000 usuarios, habría usado esto en su lugar, pero esto omite todos los efectos secundarios (actualizaciones de grupo, insignias, registro) y no respeta los niveles de confianza bloqueados.
DB.exec("UPDATE users SET trust_level = 2 WHERE trust_level IN (0, 1)")