我最近将一个拥有约 1400 名用户的 phpBB 论坛迁移到了 Discourse。除了少数几个账户外,所有的摘要似乎都从早上 8 点开始发送。有没有办法为用户分配 00:00 到 23:00 之间的随机时间?
– Geoff
我最近将一个拥有约 1400 名用户的 phpBB 论坛迁移到了 Discourse。除了少数几个账户外,所有的摘要似乎都从早上 8 点开始发送。有没有办法为用户分配 00:00 到 23:00 之间的随机时间?
– Geoff
我不知道,但有人(AI)告诉我:
https://ask.discourse.com/discourse-ai/ai-bot/shared-ai-conversations/wisnZ2lMtzSY1ji_QM8BiA
点击保存器:不,如果 AI 知道并且没有产生幻觉。
我认为您可以为所有用户修改 user_stats.digest_attempted_at,并为其赋予一个随机值。也许您可以为他们当前的 user_stats.digest_attempted_at 值增加 0-24 小时。
我猜到我可能需要这样做。但是,我习惯于共享服务器环境,在那里我可以远程连接到数据库服务器。我非常擅长 SQL,但我不知道如何连接到 DigitalOcean 实例上的数据库。任何提示都将不胜感激。
您想从 Rails 进行操作,而不是直接修改数据库。
但您可以
./launcher enter app
su - postgres
psql discourse
然后进行操作。
您可以查看 Administrative Bulk Operations,我认为您会找到一些看起来像这样的示例
users=User.where(something)
users.each do |user|
user.update(field: value)
end
非常感谢您的指导。我决定通过 Rails 来实现太难了,所以我找到了通过 postgres 来实现的方法。这是我的解决方案:
./launcher enter app
su - postgres
psql discourse
UPDATE user_stats SET digest_attempted_at = digest_attempted_at - interval '1' DAY * random();
在我看来,这看起来是对的。
我认为这对它来说足够安全了。我理解“坚持你知道的”的方法,但 Rails 提供了很多保护措施(确保事物得到强制执行,表保持连接等等)。
很高兴你解决了!
检查电子邮件日志,一切都已均匀分布。 感谢您的帮助!
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.