Как я могу перенести attachment_fu из базы данных?

Я работаю над проектом Rails, который в настоящее время получает загруженные файлы с помощью attachment_fu и сохраняет файлы в базе данных. Я хотел бы переместить их для использования файловой системы. Проблема в том, что сейчас в базе несколько тысяч загруженных файлов, и нам нужно их мигрировать. Я не могу найти ничего, чтобы помочь с этим; кажется, единственная миграция, для которой кто-либо публикует советы, - это файловая система -> S3. Как мне перенести мои файлы из базы данных?


person eqdw    schedule 23.12.2010    source источник


Ответы (1)


Если вы в конечном итоге пытаетесь обслуживать эти статические файлы через S3/CloudFront, чтобы снизить нагрузку на свои веб-серверы/серверы приложений, я могу посоветовать использовать новый функции Custom Origin CloudFront, которые позволят вам сохранить исходные файлы, где они находятся. После настройки процесс будет в основном следующим:

  1. Ваше приложение указывает браузеру получить файл с http://your-coudfront-host/path/to/file
  2. Браузер запрашивает файл
  3. Если у CloudFront есть этот файл, он возвращает его.
  4. Если у CloudFront нет файла, он извлекает его из вашего приложения и кэширует для будущих запросов (думаю, до 24 часов).

Это то, что я делаю для изображений продуктов, которые динамически генерируются на лету в приложении, которое я сейчас пишу.

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

person THREE    schedule 23.12.2010