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

标签 ios iphone sqlite core-data ios7

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

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

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

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

情况 2:如果我为新数据库指定不同的名称(它将包含在 bundle 中)?如果提供新名称保留旧数据库,我可以通过编程方式删除旧数据库吗?

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

寻求帮助..:)

最佳答案

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

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

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

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

关于iOS - 在更新到新版本时保留旧的 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21448363/

相关文章:

iphone - Segues 无法以编程方式工作

javascript - 如何在iPhone应用程序中集成javascript?

sql - 从与单个表相关的许多规范化表中获取所有信息

sql - 在一个小型数据库中保留多个 Lua 表?

ios - ReactiveCocoa : release a RACSignal when no one subscribes it

c++ - 在 Objective-C 中使用 fopen()

iphone - StringElement 派生控件不更新标题

java - 更好的性能,SQLite 查询与内存中的 ArrayList<Object>

ios - 如何为 UITableViewHeaderFooterView 设置 textAlignment?

ios - 保存所选选择器 View 行中的数据