如何在将版本更新到Appstore时更新sqlite数据库。

时间:2012-06-12 11:52:23

标签: iphone objective-c cocoa-touch ios4

我在我的应用程序中使用Sqlite数据库,

我已将我的应用程序上传到Appstore,

我在数据库中进行了一些更改,并上传了应用程序的第二个版本。现在任何用户都安装应用程序。有没有办法在不卸载以前版本的Application的情况下进行数据库更改?

我的sqlite数据库文件存储在Document目录文件夹中。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

是的,这是核心数据的可能性。这个概念被称为核心数据迁移。

在您的情况下,您可以手动执行..只需找出修改了哪个数据表并检查您的版本并进行更新。

答案 1 :(得分:0)

您需要执行数据库迁移。这意味着应用程序的更新版本应检查旧数据库是否存在。

如果找到,则应执行将数据库更新为新架构所需的所有必要ALTER TABLE ...CREATE TABLE ...等语句。

根据您所做的更改的数量和类型,这对您来说可能很容易或很困难。但只要数据存在,您就应该能够迁移它,即使您完全重新设计了数据库模式。

我强烈建议您采用TDD方法,或者至少编写一些单元测试来测试迁移过程。您想要的最后一件事是用户丢失数据。