将多个SQLite数据库与FMDB进行比较

时间:2017-03-07 11:42:35

标签: ios swift sqlite fmdb

我正在编写一个测验风格的应用程序,它通过FMDB从SQLite数据库填充。我已将数据库从应用程序包复制到应用程序文档目录,这样我就具有读/写权限,因此也可以将用户数据(如分数)保存到数据库中。

但是,我需要一种方法来将应用程序文档中的数据库与应用程序包中的数据库进行比较,以便可以将对bundle db的更新(例如新问题)复制到docs db。简单地将整个捆绑数据库复制到应用程序文档不是一种选择,因为这会覆盖以前保存的用户数据。我有一些差异性陈述,例如

SELECT questionID FROM Bundle.Master EXCEPT SELECT questionID FROM AppDocs.Master

查看已更改的内容并从那里开始,但我不确定如何同时使用多个数据库的executeQuery命令。

任何想法/替代方法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

您可以将捆绑的数据库与“版本”一起发送,并将此版本与文档db中的其他表一起复制。在app启动时,将捆绑的db的版本与文档db的版本进行比较,并在必要时执行新的导入。

您将有机会完全按照需要执行任何数据库迁移和(重新)导入。