Recentemente migrei um fórum phpBB com cerca de 1400 usuários para o Discourse. Exceto por um punhado de contas, todos os resumos parecem ser enviados a partir das 8h. Existe alguma maneira de atribuir aos usuários um horário aleatório entre 00:00 e 23:00?
Acho que você poderia modificar user_stats.digest_attempted_at para todos os seus usuários com um valor aleatório. Talvez você adicionasse de 0 a 24 horas ao valor atual de user_stats.digest_attempted_at.
Era mais ou menos o que eu imaginava que teria que fazer. No entanto, estou acostumado a ambientes de servidor compartilhado onde há um servidor de banco de dados ao qual posso me conectar remotamente. Sou muito bom em SQL, mas estou perdido em como me conectar ao banco de dados em uma droplet da DigitalOcean. Qualquer dica seria muito apreciada.
Muito obrigado pelas dicas. Decidi que fazer isso pelo Rails era uma curva de aprendizado muito grande, então descobri como fazer isso pelo postgres. Aqui estava minha solução:
./launcher enter app
su - postgres
psql discourse
UPDATE user_stats SET digest_attempted_at = digest_attempted_at - interval '1' DAY * random();
Acho que para isso é seguro o suficiente. Entendo a abordagem de ir com o que você sabe, mas o Rails oferece muitas proteções (garantindo que as coisas sejam aplicadas e as tabelas permaneçam conectadas e assim por diante).