我搞砸了,在开发和生产环境中使用了相同的存储桶。我的问题是,如果为生产中的文件名创建的哈希与开发中创建的哈希重叠,会发生什么?有检查吗?反正有清理被遗弃的文件吗?
谢谢:)
答案 0 :(得分:1)
Blob密钥是使用SecureRandom(rails的has_secure_token
)生成的,因此某些文件被覆盖的可能性很小。完全可以确定-检查active_storage_blobs
中是否有重复的键,为此,我将从生产中转储该表,并以不同的表名在开发中将其导入,然后join
编入两个表(如果所有的都是好的-会有一个空路口。
下一步是清理(实际上,如果开发中没有那么多数据-忘记它可能会更便宜)。为此,您必须编写一个脚本,该脚本列出存储桶(取决于存储服务)并找到这些废弃的文件-从文件名中可以为Blob重建密钥,然后检查该密钥是否属于生产版本。>
请务必仔细检查该列表-可能存在误报-刚刚上传但尚未写入db的文件。