Recientemente migré un foro phpBB con aproximadamente 1400 usuarios a Discourse. Aparte de un puñado de cuentas, todos los resúmenes parecen enviarse a partir de las 8 AM. ¿Hay alguna forma de asignar a los usuarios una hora aleatoria entre las 00:00 y las 23:00?
Creo que podrías modificar user_stats.digest_attempted_at para todos tus usuarios con un valor aleatorio. Quizás añadirías de 0 a 24 horas al valor actual de user_stats.digest_attempted_at.
Esto es lo que supuse que tendría que hacer. Sin embargo, estoy acostumbrado a entornos de servidor compartido donde hay un servidor de base de datos al que puedo conectarme de forma remota. Soy muy bueno en SQL, pero estoy perdido en cuanto a cómo conectarme a la base de datos en una instancia de DigitalOcean. Cualquier indicación sería muy apreciada.
Muchas gracias por las indicaciones. Decidí que hacerlo desde Rails era una curva de aprendizaje demasiado grande, así que descubrí cómo hacerlo a través de postgres. Esta fue mi solución:
./launcher enter app
su - postgres
psql discourse
UPDATE user_stats SET digest_attempted_at = digest_attempted_at - interval '1' DAY * random();
Creo que para esto es lo suficientemente seguro. Entiendo el enfoque de “ir con lo que sabes”, pero Rails te da muchas protecciones (asegurándose de que las cosas se apliquen y las tablas permanezcan conectadas, etc.).