Правильный способ управления файлами, сгенерированными приложением - PullRequest
0 голосов
/ 02 января 2019

tl; dr

В моем приложении node.js я создаю PDF-документы.Каков наилучший / правильный способ их спасти?Прямо сейчас я использую файл fileserver и shell.js для node.js.

Я работаю над веб-приложением node.js для управления квартирами и арендаторами в учебных целях, и в какой-то момент я создаю PDFДокументы, которые я хочу сохранить по пути

/ documents / имя_страницы / имя_квартиры / имя_пользователя / год / example.pfd

Теперь, если пользователь хочет изменить здание, имя квартиры или арендатора с помощью запроса HTTP PUT Я изменяю базу данных, но также хочу изменить путь.

Хорошо, оба работают, но я не могу написать хорошие тесты для этих функций.

Теперь мой друг сказал, что хранить документы на файловом сервере - плохая практика, и мне лучше использовать BLOB.

С другой стороны, Google не совсем согласен с использованием BLOB-объектов

.Как правильно сохранять документы?

Спасибо

Amit

1 Ответ

0 голосов
/ 02 января 2019

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

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

Вместо этого сохраните номер редакции в вашей БД, под которым можно найти файл, и ограничьте путьструктура для информации, которая редко изменяется.

Как {building}/{apartment}/{tenant}_{revision}.pfd

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

Примечание: я не слишком много знаю о вашем случае использования.

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