如何在应用程序版本更新的情况下在iPhone上的SQLite数据库中维护数据?

And*_*rei 10 sqlite iphone objective-c

我的iPhone应用程序的第一个版本(在应用商店中)有一个SQLite数据库.现在我想推出应用程序的第二个版本,其中还包含一个SQLite数据库.

我知道在更新时,SQLite数据库被删除,然后添加新的数据库.我不希望发生这种情况,因为该数据库包含用户已保存的一些信息.如果在更新时删除它将不太好.

问题是,如何将旧SQLite(旧版)数据库中的数据传输到新数据库?如何测试App Store上可能发生的版本更新过程?

任何帮助将不胜感激.谢谢.

Bri*_*ian 2

答案是:从一开始就在您的应用程序中实施版本控制:-)

在这种情况下,您可以将没有版本信息的应用程序视为版本 1。我要做的是将数据库的版本存储在某处(可能在数据库本身内部)。打开数据库后,根据应用程序所需的版本检查其版本,然后根据需要进行架构更改并更新存储的版本号。

如果您尚未将数据库复制到应用程序的文档目录,那么这一切都是没有意义的,因为无论如何它都是只读的。否则,文档目录的内容将在更新之间保留。

要测试更新,只需在您的设备上使用先前版本的全新副本即可。然后安装新的(构建并运行就可以了)。您确实保留了应用程序的旧版本,对吗?