当前位置:  开发笔记 > 数据库 > 正文

如何在iPhone应用更新上更新SQLite DB?

如何解决《如何在iPhone应用更新上更新SQLiteDB?》经验,为你挑选了1个好方法。

我目前在iTunes应用商店中有一个iPhone应用程序,它使用SQLite数据库作为数据存储.用户可以将应用程序与Web服务同步,然后将返回的数据存储在SQLite数据库中.用户还可以将新项目插入数据库,并将其更改同步回Web服务.

当连接打开到应用程序的本地数据库时,代码检查以确认数据库文件是否存在于"Documents"文件夹中,如果数据库文件不是通过从"Resources"文件夹复制到"Doc​​uments"文件而创建的.夹.

我必须发布应用程序的更新.此更新包含数据库架构更改(新表,列等).根据我的阅读,"Documents"目录中的文件将保留在应用程序更新中,这意味着更新后现有数据库仍将完好无损.

我的问题是,如何用我更新的数据库替换现有数据库,有没有办法在不丢失现有数据库中的数据的情况下这样做?是否存在某种"更新后首次运行"事件,我可以使用它来执行数据库更新,或者我是否必须对现有数据库进行某种检查(查找新列或表)以及检查是否失败手动更换/更新数据库?

谢谢!



1> Simon Woodsi..:

您应该将应用程序的当前版本号存储在某个持久的位置 - 在数据库中,或者更好地存储在默认数据库中.启动时,您的应用会将其自己的版本号与持久版本号进行比较.如果它们不同,则这是更新后的第一次运行.如果不存在持久版本号,那么显然这也是更新后的第一次运行.

至于更新数据库,如果它已经到位,您将使用通常的SQL ALTER命令来更新模式,并同时执行任何数据库数据迁移.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有