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

Comparing multiple SQLite databases with FMDB

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

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

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

查看发生了什么变化并从那里开始,但我不确定如何同时对多个数据库使用 executeQuery 命令。

任何 thoughts/alternative 方法表示赞赏。

您可以将捆绑的数据库与 "version" 一起发送,然后将此版本与文档数据库中的其他表一起复制。在应用程序启动时,将捆绑数据库的版本与文档数据库的版本进行比较,并在必要时执行新的导入。

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