我想知道如何从 Active Storage 中删除所有数据甚至重置 Active Storage?有什么办法吗?提前致谢!
注意:我使用的是 Rails 5.2
最佳答案
这个问题对我提出了挑战,所以我用本地存储对我的虚拟应用程序进行了一些测试。
我有通常的模型 User
,它 has_one_attached :avatar
在本地存储中,文件保存在/storage
文件夹下,子文件夹下随机命名为两个字符的字符串。
与文件相关的信息存储在两个表中:
为了完全清理这两个表,我在 rails console
中做了:
ActiveStorage::Attachment.all.each { |attachment| attachment.purge }
这个命令删除
- 该表中的所有记录:
ActiveStorage::Attachment.any? #=> 错误
- 所有的 blob:
ActiveStorage::Blob.any? #=> 错误
- 位于
/storage
子文件夹下的所有文件;当然,子文件夹仍然是空的。
ActiveStorage 仍然正常工作。
我希望远程存储具有相同的行为,具有正确的权限。
关于ruby-on-rails - 从 Active Storage 中删除所有数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51175944/