我想知道如何删除 Activity 存储中的所有数据,甚至重置 Activity 存储?有什么办法吗?先感谢您!

注意:我正在使用Rails 5.2

最佳答案

这个问题对我构成了挑战,因此我在具有本地存储的虚拟应用程序上进行了一些测试。

我有通常的User模型has_one_attached :avatar
在本地存储中,文件保存在/storage文件夹中的子文件夹下,该子文件夹随机命名为两个字符。

与文件有关的信息存储在两个表中:

  • ActiveStorage::Attachment
  • ActiveStorage::Blob

  • 要完全清理两个表,我在rails console中做了:
    ActiveStorage::Attachment.all.each { |attachment| attachment.purge }
    

    该命令删除
  • 该表中的所有记录:ActiveStorage::Attachment.any? #=> false
  • 所有斑点:ActiveStorage::Blob.any? #=> false
  • 位于/storage子文件夹下的所有文件;当然,子文件夹仍然是空的。

  • ActiveStorage仍然可以正常工作。

    我期望具有正确的特权的远程存储具有相同的行为。

    08-18 05:16