1

我正在开发一个 Rails 项目,该项目当前使用 attachment_fu 接收上传的文件并将文件存储在数据库中。我想移动它们以使用文件系统。问题是数据库中目前有几千个上传文件,我们需要将它们迁移出去。我似乎找不到任何帮助。似乎有人发布提示的唯一迁移是文件系统-> S3。我将如何将我的文件迁移出数据库?

4

1 回答 1

0

如果您最终尝试通过 S3/CloudFront 提供这些静态文件以减少 Web/应用程序服务器上的负载,我建议的一件事是利用CloudFront 的新自定义源功能,这将允许您将源文件保留在原处。设置完成后,流程基本上是:

  1. 您的应用程序告诉浏览器从http://your-coudfront-host/path/to/file检索文件
  2. 浏览器请求文件
  3. 如果 CloudFront 有该文件,它将返回它
  4. 如果 CloudFront 没有文件,它会从您的应用程序中检索它并缓存它以供将来的请求使用(我相信最多 24 小时。)

这就是我正在为在我当前正在编写的应用程序中动态生成的产品图像所做的事情。

这样做的好处是您不必承担不断将数据同步到 S3 的开销,如果您决定删除整个设置,您仍然可以像什么都没发生一样直接为您的资产提供服务。

于 2010-12-23T19:00:45.780 回答