Правильная структура базы данных / данных, где данные связаны с локальной файловой системой - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть приложение для iOS, где пользователи могут создавать Sessions.A Session в основном состоит из дополнительной аудиозаписи (сохраненной локально) и некоторых характеристик, относящихся к сеансу.

Пользователи также могут:

  • Создание папок (которые также создаются на устройстве)
  • Переименование аудиофайла
  • Переименование папок
  • Переместить аудиофайл в другую папку.
  • Переместить папку в другую папку.

Прямо сейчас, когда сеанс завершен, я сохраняю его в базе данных вформат, подобный следующему:

    var id: String = ""
    var duration: Double = 0
    var filename: String?
    var path: String = ""
    var isDirectory: Bool = false
    var data: SessionStats?

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

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

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