2013-08-02 115 views
3

我在我的iOS應用程序中使用了sqlite數據庫。我在我放入Xcode項目的「支持文件」組中的.sqlite文件中具有其所有表格定義,並且在代碼中將此文件複製到「文檔」以便能夠執行數據庫操作。在開發過程中,我發現,當我需要添加/刪除表格或更改其字段時,我從「支持文件」中刪除.sqlite文件以添加新文件,然後我需要從設備上卸載應用程序或模擬器並再次構建以獲取新數據庫。iOS中的Sqlite數據庫修改和應用程序更新

如何更改數據庫表中的.sqlite文件而無需卸載應用程序?當應用程序將被提交到App Store時,用戶需要重新安裝應用程序時,有數據庫更改的新更新可用?

編輯。是否可以替換數據庫並保留/複製用戶在舊數據庫中的數據?或者,在從.sqlite數據庫被替換的商店下載應用程序更新時,用戶是否會丟失所有存儲的數據,就好像他是從頭開始安裝應用程序一樣?

我從來沒有嚮應用商店提交應用,但如果我需要在.sqlite文件中存儲此類數據庫時對數據庫表進行更改,則需要有關如何處理應用更新的一些指導。我沒有使用核心數據。

謝謝

回答

2

對於它,您需要通過編程方式修改數據庫。意思是,如果你想在數據庫中創建/添加新表,那麼你需要添加代碼如Create Table ....在這種情況下,你不能在代碼中使用預定義的數據庫。

但是,如果您要使用數據庫而不是編寫代碼,那麼您需要重命名數據庫並以編程方式將所有舊數據庫數據複製到新數據庫。

感謝

+0

我需要利用'.sqlite'文件,所以......你是說,我要複製新並改名爲'.sqlite'文件到文件,然後複製我的數據在舊的數據庫?這不會覆蓋表嗎?我怎麼能這樣做? – AppsDev

+0

我的意思是,需要使用其他名稱的新數據庫,然後從新數據庫複製舊數據庫。對於複製字段/記錄取決於您的需求,您可以一個接一個複製或附加數據庫在一起,只需掃描複製聲明..... – Hindu

相關問題