自动清除来自已删除旧帖子的上传内容

太棒了!一个非常好的解决方案。:slight_smile:

我想知道,使用剥离帖子中上传引用(markdown 引用)的相同策略,是否可以用于反向场景,即当一个上传被销毁但引用它的帖子仍然存在时。

如果我销毁一个上传,如下所示:

Upload.find(123).destroy

如果上传 123 被任何用户用于:

  • 个人资料自定义头像
  • 个人资料背景
  • 卡片背景

所有引用似乎都从以下位置被清除:

before_destroy(清除背景/卡片横幅上传引用)

https://github.com/discourse/discourse/blob/6759ad71cac395697b2978eb34fcfbf1162d30d1/app/models/upload.rb#L53

after_destroy(清除头像上传引用)

https://github.com/discourse/discourse/blob/6759ad71cac395697b2978eb34fcfbf1162d30d1/app/models/upload.rb#L60

如果可以使用与上传 ID 关联的帖子 ID 来排队在销毁上传时剥离上传的 markdown,我认为这可能会防止在上传被手动销毁时,非删除帖子中出现失效的上传引用。

理想情况下,如果例如一个帖子有两个上传但只有一个被销毁,则保留未被销毁的任何上传的 markdown。

例如,如果通过 https://meta.discourse.org/t/legal-compliance-plugin/356331 或 rails CLI 删除了被多个帖子(例如引用帖子)引用的上传。

1 个赞