如何更新SQLite DB在iPhone应用程序更新?

前端之家收集整理的这篇文章主要介绍了如何更新SQLite DB在iPhone应用程序更新?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我目前在iTunes应用商店中使用一个iPhone应用程序,它使用sqlite数据库作为数据存储.用户可以将应用程序与Web服务同步,然后将返回的数据存储在sqlite数据库中.用户还可以将新项目插入数据库,并将其更改同步到Web服务.

当连接打开到应用程序的本地数据库时,代码检查确认数据库文件是否存在于“文档”文件夹中,如果没有通过从“资源”文件夹复制到“文档”创建数据库,夹.

我必须向应用程序发布更新.该更新包含数据库模式更改(新表,列等).从我所看到的,“Documents”目录中的文件将保留在应用程序更新中,这意味着现有的数据库在更新后仍将保持不变.

我的问题是,如何用已更新的数据库替换现有的数据库,有没有办法,而不会丢失现有数据库中的数据?有没有某种“第一次运行后更新”事件我可以使用来做数据库更新,或者我必须对现有数据库进行某种检查(查找新的列或表),如果我的检查失败手动替换/更新数据库

谢谢!

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

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

猜你在找的Sqlite相关文章