[英]update sqlite database for iphone
考慮一個帶有一些“文檔”作為模板的iPhone應用程序的SQLite數據庫。 用戶也可以添加自己的模板。
我想更新程序和數據庫。 有沒有機會這樣做而不覆蓋用戶的數據?
我考慮過兩個不同的數據庫,但由於這是開銷,我想避免這個選項。
如何在不覆蓋用戶數據的情況下完成此操作?
如果您正在使用Core Data,那么添加新的數據模型(模式)版本並自動進行“遷移”應該相對容易。 通過一些小的更改,您可能需要創建映射模型。 如果您的架構在重構的實體,添加的抽象級別等方面發生了重大變化,那么您可能需要繼承NSEntityMigrationPolicy。
您可能希望查看“ 核心數據模型版本控制和數據遷移編程指南”
您還可以查看Marcus Zarra的“核心數據”一書和示例代碼。
您可以讓應用程序在運行時檢查舊版本的db,並在必要時自行更新。 所以基本上,更新應用程序,它將處理更新數據庫。 這將允許您備份/恢復數據(如有必要)。
更新應用程序及其數據存儲區時,請在升級包中提供ALTER
腳本。 當應用程序首次運行時,它應該:
ALTER
和UPDATE
腳本以將模式和數據從v1轉換為v2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.