iOS - 在更新到新版本时保留旧的sqlite数据库

Ras*_*had 5 sqlite iphone core-data ios ios7

我发现了一些其他问题,但我没有清楚地知道如何在ios中更新应用程序时保留旧数据库中的数据.

案例1:我可以保留旧数据库吗?

如果案例1为YES:我可以在旧数据库中插入新列或进行任何更改吗?它是否安全?

如果情况1为NO:我可以在新数据库中获取旧数据库数据吗?旧数据库是否会被删除?

案例2:如果我为新数据库提供不同的名称(它将包含在捆绑包中)?如果给新名称保留旧数据库,我可以以编程方式删除旧数据库吗?

什么是最佳做法?为数据库文件指定一个新名称以保留旧名称,然后将旧文件复制到新数据库并删除旧数据库文件?刚开始使用旧的?

寻求帮助.. :)

Mid*_* MP 3

案例1:我可以保留旧数据库吗?

是的,更新应用程序不会删除存储在文档目录中的数据库文件。(但如果它在您的捆绑包中,它将被删除)

如果情况 1 为“是”:我可以插入新列或在旧数据库中进行任何更改吗?这是否安全?

这将取决于您的实施。您可以使用ALTER TABLE查询来添加或删除列。您需要处理代码中的新更改,否则可能会导致问题。添加列在正常情况下不会导致任何问题(取决于您的插入查询语句和新字段约束)