如何将attachment_fu迁移出数据库?

时间:2010-12-23 17:39:10

标签: ruby-on-rails attachment-fu

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

1 个答案:

答案 0 :(得分:0)

如果您最终尝试通过S3 / CloudFront提供这些静态文件以减少Web / app服务器的负载,我可能建议使用新的Custom Origin functionality of CloudFront,这样您可以将源文件保存在哪里他们是。设置完成后,流程基本上是:

  1. 您的应用告诉浏览器从http://your-coudfront-host/path/to/file
  2. 检索文件
  3. 浏览器请求文件
  4. 如果CloudFront具有该文件,则将其返回
  5. 如果CloudFront没有该文件,它会从您的应用程序中检索它并将其缓存以备将来请求(我相信最长可达24小时。)
  6. 这就是我正在为我正在编写的应用程序中动态生成的产品图像所做的事情。

    这样做的好处是,您无需承担不断将数据同步到S3的开销,如果您决定删除整个设置,您仍然可以直接维护您的资产,就像没有发生任何事情一样。