我有一个iOS应用,用户可以在其中创建Sessions
。 Session
主要包括一个可选的音频记录(本地保存)和一些与会话相关的统计信息。
用户还可以:
现在,会话完成后,我将其存储在数据库中,格式类似于:
var id: String = ""
var duration: Double = 0
var filename: String?
var path: String = ""
var isDirectory: Bool = false
var data: SessionStats?
似乎当前的数据库设计与文件系统过度耦合。问题是当文件夹名称更改或移动时,我必须为该文件夹内的会话更新数据库中的所有path
字段。如果文件夹被删除,我还必须找到该文件夹的所有子项,以将其从数据库中删除。似乎还可能存在文件系统和数据库不同步的情况(如果由于某种原因更新失败)。
是否有更好的结构?现在,我正在为数据库使用realm
,但是我对所有解决方案都开放。