2011-11-25 113 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

是的我發現你的鏈接有用,工作示例的任何鏈接? –