Понятия не имею, правильно ли я поступаю по этому поводу, или я делаю что-то совершенно глупо.
У меня есть файловая система, которая будет содержать кучу файлов изображений.Это большие изображения карты переменного размера.Я использую свою базу данных для выполнения пространственных запросов к ним.
По сути, все, что я хочу сделать, - это добавить информацию об изображении (имя, каталог и пространственную информацию) в базу данных и удалить изображение избаза данных (записи во всех таблицах вместе с внешним файлом, связанным с этой записью).Я знаю, как удалить все записи, но не внешние данные.Я не хочу вставлять изображения в базу данных в виде двоичного двоичного объекта, потому что я часто буду использовать внешние инструменты для файлов.
В основном моя база данных отслеживает только имя файла и каталог, а также связанные с ним пространственные данныес файлом.
Как удалить файл из файловой системы, когда я удаляю запись из базы данных?
Даже правильно ли я это делаю?Является ли более нормальным вставлять изображения в базу данных в виде двоичного двоичного объекта?(Накладные расходы на копирование данных делают это неправдоподобным для меня, и должен быть лучший способ.)
Я надеюсь, что это не имеет значения, но я использую postgre в качестве базы данных SQL под Linux.
РЕДАКТИРОВАТЬ: моя текущая стратегия заключается в использовании сценария оболочки, который обрабатывает удаление изображения.Во время сценария оболочки он создает файл транзакции для удаления всех записей базы данных, связанных с изображением, сохраняя полный путь к файлу в текстовом файле.Если транзакция прошла успешно, я удаляю изображение в плоском файле.Это разумно?Есть ли лучший способ?