Python 在iOS 7.0中合并两个具有wal和shm约束的sqlite数据库

Python 在iOS 7.0中合并两个具有wal和shm约束的sqlite数据库,python,ios,sqlite,merge,wal,Python,Ios,Sqlite,Merge,Wal,我读过很多关于sqlite数据库以及如何使用wal和checkpoint进行更新的文章,但我真的不明白,尽管互联网上有这么多信息 我使用Python脚本在桌面计算机上合并了两个sqlite数据库,但当我将新文件(store.data)放回Xcode中的文件夹并替换旧文件时,应用程序在运行时崩溃(错误259)。我认为这是因为原始的wal/shm文件无法识别新的数据库(它现在有新的信息/列/行),但我不知道如何从该文件创建新的wal/shm。或者我应该在合并数据库的同时修改这些数据库吗 编辑: 当我

我读过很多关于sqlite数据库以及如何使用wal和checkpoint进行更新的文章,但我真的不明白,尽管互联网上有这么多信息

我使用Python脚本在桌面计算机上合并了两个sqlite数据库,但当我将新文件(store.data)放回Xcode中的文件夹并替换旧文件时,应用程序在运行时崩溃(错误259)。我认为这是因为原始的wal/shm文件无法识别新的数据库(它现在有新的信息/列/行),但我不知道如何从该文件创建新的wal/shm。或者我应该在合并数据库的同时修改这些数据库吗

编辑:
当我在sqlite浏览器应用程序中执行PRAGMA wal_检查点(重启)时,它工作正常。。。我替换我的Xcode文件夹中的旧文件,但它只在我进行新的重建时起作用,而不是在模拟器中打开它。。。这不会在真正的设备上造成问题,因为我不会重建应用程序,而只是启动它?有办法解决吗?

如果正确关闭数据库,
-wal
-shm
文件都不应该存在。即使Xcode和我的应用程序没有运行,当我查看iOS文件夹时,-wal和-shm文件看起来仍然存在。。。我应该以特定方式关闭应用程序中的数据库吗?在运行应用程序之前,我只需要保存一个上下文。。。