簡體   English   中英

iPhone應用程序更新(在Sqlite上使用Core Data)

[英]iPhone application update (using Core Data on Sqlite)

我有一個在Sqlite上使用Core Data的應用程序,現在我有一個更新,該更新具有一些數據庫結構更改,例如添加一個新表

我知道當應用程序更新時,它僅更新應用程序二進制文件,文檔目錄上的任何內容都不會更改。

當應用更新並首次啟動並運行時

[[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

它將在Sqlite中發現數據模型和DB結構之間的差異,並將引發異常並退出。

錯誤:“用於打開商店的模型與用於創建商店的模型不兼容”

因此,在數據庫結構發生更改時,這里有人可以給我一些想法如何更新應用程序嗎?

我認為我們可以在第一次啟動更新時運行數據庫腳本來創建該新表。

但是,如果還有其他更改,例如更改某些字段的類型或刪除某些字段,並且我們需要遷移舊數據,這確實令人頭疼。 在這種情況下,唯一的方法就是創建一個新的應用程序嗎?

有沒有人嘗試過類似的東西?

您需要對數據模型進行版本控制,以處理添加的所有新字段。 蘋果對此有詳細的文檔 如果您只是添加字段,這很容易。 我沒有嘗試刪除字段,但我想它也很簡單。 一旦進入不斷變化的領域,就會引入一些復雜性,但這並不難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM