如何将 Active Storage 数据从一台机器移动到另一台机器

How to move Active Storage data from one machine to another

因为我们试图将系统从一台机器移动到另一台机器的原因。它在 storage 目录中有几个文件。我将它(使用 -a)rsync 到本地环境以查看是否一切正常,但结果并非所有文件都可用,其中一些文件引发异常:

Errno::ENOENT (No such file or directory @ rb_file_s_mtime - /path/to/project/storage/as/df/asdfasdfasdfasdfasdf):

当然我检查了路线,它们是存在的。我一直在阅读一些有关 Active Storage 工作原理的文章,我可能由于某种原因导致 URL 失效,但为什么有些文件可以工作?为什么异常提到 mtime?更重要的是,如何顺利完成迁移?

提前致谢

所以问题实际上是文件系统 + Active Record 名称 你可以认为这是一个极端情况:我的本地机器运行 macOS,而服务器运行 Linux,所以如果我有文件夹 VfVF 在 Linux 上,在 macOS 上它们成为一个(以先下载者为准)。 Active Storage 依赖于区分大小写的文件名,这就是为什么有些文件可以正常工作,但找不到其他文件的原因