继续讨论 ActiveRecord::RecordNotUnique on idx_tag_users_ix1:如何修复? :
hellekin:
请注意,症状 已清除,但原因并不完全清楚。
错误已重现。我认为我正在追踪这个 bug。
重现步骤
创建一个标签 #foo
将标签 #foo 的使用限制为仅限 Staff
创建一个群组 Bar
为群组 Bar 分配对标签 #foo 的“Watching”通知
让一个非特权用户加入群组 Bar
并将他们对 #foo 的个人通知更改为“Normal”
非特权用户将无法再阅读页面
我怀疑 这就是正在发生的事情,因为它已经发生在两个不同的人身上两次了。错误是这样的:https://oxygen.offdem.net/logs/show/f70207d3affa8967932b9122d2be212b
也许标题有点限制性。我认为这更多地与标签对群组的限制和个人通知有关。
所有新用户现在都有一个重复条目,必须从控制台中删除:
r = TagUser.connection.execute("SELECT user_id, tag_id, count(*) FROM tag_users GROUP BY tag_id, user_id HAVING count(*) > 1")
r.values.each { |uid,tag,_| TagUser.where(user_id: uid, tag_id: tag).last.destroy }
我不确定这一步。我使用了组通知来将标签添加到组的“Watching”通知中。
我是指这个页面:
我可能缩写了链接 - /g/GROUPNAME/manage/tags
或者我需要从别的地方尝试?
我真的不知道。在 OFFDEM 之前我没法花太多时间在这上面。目前,我正在运行 SQL 请求来解决新用户遇到的问题。也许我忽略了一个细节。比如……所有类别默认都是静音的,这可能会影响通知。
这可能很重要。您是否为此使用了“默认静音所有类别”设置?
1 个赞