Я работаю над проектом Rails, который в настоящее время получает загруженные файлы с помощью attachment_fu и сохраняет файлы в базе данных. Я хотел бы переместить их для использования файловой системы. Проблема в том, что сейчас в базе несколько тысяч загруженных файлов, и нам нужно их мигрировать. Я не могу найти ничего, чтобы помочь с этим; кажется, единственная миграция, для которой кто-либо публикует советы, - это файловая система -> S3. Как мне перенести мои файлы из базы данных?
Как я могу перенести attachment_fu из базы данных?
Ответы (1)
Если вы в конечном итоге пытаетесь обслуживать эти статические файлы через S3/CloudFront, чтобы снизить нагрузку на свои веб-серверы/серверы приложений, я могу посоветовать использовать новый функции Custom Origin CloudFront, которые позволят вам сохранить исходные файлы, где они находятся. После настройки процесс будет в основном следующим:
- Ваше приложение указывает браузеру получить файл с http://your-coudfront-host/path/to/file
- Браузер запрашивает файл
- Если у CloudFront есть этот файл, он возвращает его.
- Если у CloudFront нет файла, он извлекает его из вашего приложения и кэширует для будущих запросов (думаю, до 24 часов).
Это то, что я делаю для изображений продуктов, которые динамически генерируются на лету в приложении, которое я сейчас пишу.
Преимущество этого заключается в том, что вам не нужно постоянно синхронизировать данные с S3, и если вы решите удалить всю настройку, вы все равно сможете обслуживать свой актив напрямую, как будто ничего не произошло.
person
THREE
schedule
23.12.2010