Активное хранилище - заброшенные файлы - PullRequest
0 голосов
/ 16 октября 2018

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

Спасибо:)

1 Ответ

0 голосов
/ 16 октября 2018

Ключи BLOB генерируются с использованием SecureRandom (rails 'has_secure_token), поэтому очень маловероятно, что какой-то файл будет перезаписан.Чтобы быть полностью уверенным - проверьте наличие дублирующих ключей в active_storage_blobs, для этого я бы сбросил эту таблицу с производства и импортировал ее при разработке под другим именем таблицы, а затем join отредактировал две таблицы, если все в порядке - там 'Будет пустое пересечение.

Следующим шагом является очистка (на самом деле, если данных от разработки не так много - просто дешевле забыть).Для этого вам нужно написать скрипт, который перечисляет ваш сегмент (который зависит от вашей службы хранения) и находит эти заброшенные файлы - по имени файла вы можете восстановить ключ для большого двоичного объекта, а затем проверить, принадлежит ли этот ключ к производству.

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

...