簡體   English   中英

更新iphone的sqlite數據庫

[英]update sqlite database for iphone

考慮一個帶有一些“文檔”作為模板的iPhone應用程序的SQLite數據庫。 用戶也可以添加自己的模板。

我想更新程序和數據庫。 有沒有機會這樣做而不覆蓋用戶的數據?

我考慮過兩個不同的數據庫,但由於這是開銷,我想避免這個選項。

如何在不覆蓋用戶數據的情況下完成此操作?

如果您正在使用Core Data,那么添加新的數據模型(模式)版本並自動進行“遷移”應該相對容易。 通過一些小的更改,您可能需要創建映射模型。 如果您的架構在重構的實體,添加的抽象級別等方面發生了重大變化,那么您可能需要繼承NSEntityMigrationPolicy。

您可能希望查看“ 核心數據模型版本控制和數據遷移編程指南”

您還可以查看Marcus Zarra的“核心數據”一書和示例代碼。

您可以讓應用程序在運行時檢查舊版本的db,並在必要時自行更新。 所以基本上,更新應用程序,它將處理更新數據庫。 這將允許您備份/恢復數據(如有必要)。

更新應用程序及其數據存儲區時,請在升級包中提供ALTER腳本。 當應用程序首次運行時,它應該:

  • 檢查數據庫是否需要更新(版本號等)
  • 運行ALTERUPDATE腳本以將模式和數據從v1轉換為v2

暫無
暫無

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

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