活动存储-废弃的文件

时间:2018-10-16 15:58:58

标签: ruby-on-rails ruby-on-rails-5 rails-activestorage

我搞砸了,在开发和生产环境中使用了相同的存储桶。我的问题是,如果为生产中的文件名创建的哈希与开发中创建的哈希重叠,会发生什么?有检查吗?反正有清理被遗弃的文件吗?

谢谢:)

1 个答案:

答案 0 :(得分:1)

Blob密钥是使用SecureRandom(rails的has_secure_token)生成的,因此某些文件被覆盖的可能性很小。完全可以确定-检查active_storage_blobs中是否有重复的键,为此,我将从生产中转储该表,并以不同的表名在开发中将其导入,然后join编入两个表(如果所有的都是好的-会有一个空路口。

下一步是清理(实际上,如果开发中没有那么多数据-忘记它可能会更便宜)。为此,您必须编写一个脚本,该脚本列出存储桶(取决于存储服务)并找到这些废弃的文件-从文件名中可以​​为Blob重建密钥,然后检查该密钥是否属于生产版本。

请务必仔细检查该列表-可能存在误报-刚刚上传但尚未写入db的文件。