Удалить все данные из Active Storage? - PullRequest
0 голосов
/ 04 июля 2018

Хотелось бы узнать, как удалить все данные из Active Storage или даже сбросить Active Storage? Есть ли способ сделать это? Заранее спасибо!

ПРИМЕЧАНИЕ: я использую Rails 5.2

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

В локальной среде разработки, когда я выполняю rails db:reset, я также запускаю rm -rf storage, чтобы очистить все ранее сохраненные файлы. Rails автоматически воссоздает каталог storage при следующей загрузке файла.

0 голосов
/ 04 июля 2018

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

У меня есть обычная модель User, которая has_one_attached :avatar

В локальном хранилище файлы сохраняются в папке /storage, в подпапках, названных случайным образом со строкой из двух символов.

Информация о файлах хранится в двух таблицах:

Чтобы полностью очистить две таблицы , я сделал в rails console:

ActiveStorage::Attachment.all.each { |attachment| attachment.purge }

Эта команда удаляет

  • Все записи в этой таблице: ActiveStorage::Attachment.any? #=> false
  • Все капли: ActiveStorage::Blob.any? #=> false
  • Все файлы, расположенные в подпапках /storage; конечно, подпапки все еще там пустые.

ActiveStorage по-прежнему работает популярно.

Я ожидаю того же поведения для удаленного хранилища, обладающего правами доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...