我刚刚做了一个快速搜索,没有什么太相关的,所以这里.
我已经发布了第一个版本的应用程序.从那时起,我对sqlite数据库进行了一些修改,在下一个版本中,我将需要更新数据库结构,但保留用户的数据.
这是最好的方法?我目前认为在应用程序更新我永远不会替换用户的(文件夹,而不是捆绑)数据库文件,而是使用SQL查询来更改其结构.
这将涉及跟踪自上一个版本以来对数据库所做的更改.将所有这些更改脚本都编写为SQL查询,并运行这些更改以使数据库达到最新版本.我还需要在数据库中保留一个字段来跟踪版本号(为了简单起见,保持与应用程序版本一致).
除非有特定的钩子,否则在更新之后首先运行的委托方法会在执行任何其他操作之前将该逻辑调用到appDelegate的开头.
接下来的事情,如果沿线出现错误,更新失败,会发生什么.数据库将过期,应用程序将无法正常工作,因为它期望更新的版本?
我应该把它自己删除用户的数据库文件,并将其替换为应用程序包中的新版本.或者,我应该只是测试,测试,直到一切都在我身边,如果一个错误发生在用户的一边,这是其他的,在这种情况下,我不能做任何事情只丢弃数据.
对此的任何想法将不胜感激. 原文链接:https://www.f2er.com/c/112628.html