2010-11-23 2 views
2

Я работаю над очисткой старого приложения Rails 2.3.5, которое использует Dragonfly для хранения изображений.Rails & Dragonfly: Очистка неиспользуемых изображений

У меня есть ощущение, что в filestore гораздо больше изображений, чем записей в базе данных, но из-за схемы прозрачного именования Dragonfly я понятия не имею, как узнать, какие файлы в filestore принадлежат фактическим записям.

У кого-нибудь есть хорошая идея, как я могу это очистить? Я хотел бы избавиться от нескольких гигабайт неиспользуемых данных.

ответ

3

Вы можете найти медиа-записи в своей базе данных, где вы должны найти столбец с надписью «_uid». Этот столбец содержит относительный путь к вашим медиафайлам в вашей медиа-папке. Затем вы можете удалить файлы, которые не могут быть найдены в вашей базе данных. Будьте осторожны: я вижу, что есть один дополнительный файл с пометкой «.extra» для каждого медиафайла, который вы должны сохранить (но я не знаю, для чего это).

Я подумываю о реализации такой функции с помощью кнопки «Очистка носителя данных» в моем интерфейсе администратора. Я еще не пробовал это.

+0

Это определенно начало. Я видел пути и вещи, но не решался начать удаление вещей, которые я не видел в базе данных, только потому, что метод хранения был для меня волшебным. Спасибо за это, я думаю, я должен просто начать экспериментировать в этом направлении. – 2010-12-14 22:34:07

Смежные вопросы