Как скопировать загруженные скрепки в новую модель / ковш S3? - PullRequest
0 голосов
/ 08 марта 2012

Я сделал переписывание кода приложения, и это означает, что модели имеют несколько иную схему.

Одна из этих моделей - модель Photo, которая использует Paperclip для обработки загрузки на S3..

Новая модель хранит фотографии в другом ведре и с другой схемой именования, плюс новые размеры фотографий.

Поэтому мне нужно скопировать оригинальные фотографии из одногоS3, а затем пропустите их через мою новую модель Photo, чтобы они переместились в новую корзину S3 и получили соответствующие эскизы.

Старые данные хранятся в модели OldPhoto в той же самойбаза данных.

Я использую Rails 3.2 и Ruby 1.9.2 вместе с Paperclip 2.7.

1 Ответ

0 голосов
/ 09 марта 2012

Сначала я бы скачал все старые фотографии с S3 на свой локальный жесткий диск.

Затем я написал бы специальное действие в контроллере, которое будет анализировать каталог old-photo на вашем локальном диске и для каждой фотографии находить обратно соответствующий user / object и update_attribute для этого user / object, определяя новый файл (= старая фотография) в качестве атрибута новой фотографии и выполните соответствующую загрузку в БД. Paperclip будет обрабатывать генерацию новых форматов и новых путей к S3

Мой ответ может показаться очевидным, но в случае, если он поможет ...

...