我已经对应用程序进行了代码重写,其中一部分意味着模式的模式有所不同。
其中一个模型是Photo
模型,它使用Paperclip处理上传到S3。
新模型将照片存储在不同的存储桶中,并使用不同的命名方案,并且还有新的照片尺寸。
所以我需要做的是从一个S3存储桶中复制原始照片,然后通过我的新Photo
模型运行它们,以便将它们移动到新的S3存储桶并生成相应的缩略图。
旧数据存储在同一数据库中的OldPhoto
模型中。
我正在运行Rails 3.2和Ruby 1.9.2以及Paperclip 2.7。
答案 0 :(得分:0)
首先,我会将所有旧照片从S3下载到我的本地硬盘。
然后,我会在控制器中编写一个专用操作,该控制器将解析本地驱动器上的旧照片目录,并为每张照片找回该用户/对象上的相应用户/对象和update_attribute,定义新文件(=旧照片)作为新的照片属性并执行相应的上传到数据库。然后,Paperclip将处理新格式的生成和S3的新路径
我的回答可能看起来很明显,但如果有帮助......