活动存储 - 废弃的文件
Active Storage - Abandoned Files
我搞砸了,在我的开发和生产环境中使用了同一个存储桶。我的问题是,如果在生产中为文件名创建的散列与在开发中创建的散列重叠,会发生什么情况?有什么检查吗?反正有清理废弃文件的方法吗?
谢谢:)
Blob 密钥是使用 SecureRandom (rails' has_secure_token
) 生成的,因此某些文件被覆盖的可能性很小。为了完全确定 - 检查 active_storage_blobs
中的重复键,为此我将从生产中转储 table 并在开发中以不同的 table 名称导入它,然后 join
ed 两个 tables,如果一切正常 - 会有空路口。
下一步是清理(实际上,如果没有那么多来自开发的数据 - 忘记它可能更便宜)。为此,您必须编写一个脚本来列出您的存储桶(取决于您的存储服务)并找到这些废弃的文件 - 从文件名中您可以重建 blob 的密钥,然后检查该密钥是否属于生产。
请务必仔细检查该列表 - 可能存在误报 - 刚刚上传但尚未写入数据库的文件。
我搞砸了,在我的开发和生产环境中使用了同一个存储桶。我的问题是,如果在生产中为文件名创建的散列与在开发中创建的散列重叠,会发生什么情况?有什么检查吗?反正有清理废弃文件的方法吗?
谢谢:)
Blob 密钥是使用 SecureRandom (rails' has_secure_token
) 生成的,因此某些文件被覆盖的可能性很小。为了完全确定 - 检查 active_storage_blobs
中的重复键,为此我将从生产中转储 table 并在开发中以不同的 table 名称导入它,然后 join
ed 两个 tables,如果一切正常 - 会有空路口。
下一步是清理(实际上,如果没有那么多来自开发的数据 - 忘记它可能更便宜)。为此,您必须编写一个脚本来列出您的存储桶(取决于您的存储服务)并找到这些废弃的文件 - 从文件名中您可以重建 blob 的密钥,然后检查该密钥是否属于生产。
请务必仔细检查该列表 - 可能存在误报 - 刚刚上传但尚未写入数据库的文件。