Как я могу перенести attachment_fu из базы данных? - PullRequest
1 голос
/ 23 декабря 2010

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

1 Ответ

0 голосов
/ 23 декабря 2010

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

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

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

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

...