2011-11-25 111 views
1

什么是应用内Sqlite数据迁移的最佳方式。由于我是iphone开发新手,我使用Sqlite创建了我的应用程序。请帮助关注Sqlite数据迁移

+0

你能告诉我你到底希望你的数据库迁移到什么地方吗? –

+0

我想更新应用程序商店中的应用程序版本,因此需要迁移用户数据,因为我的新版本可能会有新表格。 –

+0

是否要从旧版本的应用程序中删除较旧的表格?或者您只是希望那些已经在使用您的应用程序的用户下载新版本时,他们的数据将成为他们的新应用程序? – Ravin

回答

3

您创建数据库升级过程并在应用程序启动时第一次执行。

因此,这将创建一个新的表,通过创建语句时,第一次加载应用程序。

它也将帮助您保存用户在他当前数据库中的所有数据。这是最值得推荐的,因为没有其他要求可以将现有数据库迁移到任何地方。

也请参阅我的答案在此链接:

Don't wan't to replacing the old database when app is updated

希望这有助于你。

如果您需要更多帮助,请随时与我联系。

编辑:

在当你需要进行修改,其中包含了一些数据,那么你需要做一些步骤如下退出的表情况:

1)重命名现有的表

说表名是“TestTable的”,所以重命名表“TestTableOld”

2)创建一个名为“TestTable的”拥有你想要的新列和其它争吵M个新表ADE。

3)从 'TestTableOld' 到 'TestTable的' 复制数据与像查询:

INSERT INTO TestTable的( 'COL1',COL2' ... '科隆')值中选择COL1,COL2,COL3, ...'coln'从TestTableOld;

4)删除表“TestTableOld”

按照上面的4个步骤,因为这会工作作为ALTER发言,并会从你的原表保存所有的数据。

希望你得到它。

+0

先生,是否有任何工作示例这样做,因为我对这个领域很陌生。 –

+0

不,这是一个有效的例子,但我已经实施了几个地方。您只需在升级过程中以编程方式执行创建表语句和其他语句(如更新语句和插入语句),就像在数据库中执行选择语句查询的方式一样。 –

+0

是的我发现你的链接有用,工作示例的任何链接? –