開源一個適用iOS的資料庫表結構更新機制的代碼
將前段時間開源的代碼,發布一下:
ARDBConfig
On the iOS, provide a database table structure update mechanism, ensure that the user in any version of the installer, the database structure to ensure adapter.
(在iOS上,提供一個資料庫表結構更新的機制,保證使用者無論從哪個版本安裝程式,資料庫結構保證適配。)
如:使用者A的資料庫版本是v1,使用者B是v2,使用者C沒裝過App;現在,所有使用者安裝並運行最新App(資料庫版本是v3)後,使用者A的資料庫將會“v1->v2->v3”順序升級,使用者B的資料庫將會“v2->v3”順序升級,使用者C的資料庫將會“v1->v2->v3”順序升級。
如何使用?
1、第一次建立工程,建立資料庫的情況(資料庫版本為1):
(1)建立一個繼承於“RLDBConfigBase”的類,如“DBConfigLogic”。
(2)添加int類型唯讀屬性“dbVersion”,實現get方法並return 1;
(3)添加覆蓋父類方法“onCreate”,並在方法內寫下第一次建立資料表結構的SQL及代碼。
(4)在程式啟動時(如“AppDelegate.m”),執行個體化“DBConfigLogic”類並調用“checkDatabase”方法,即可完成資料庫的初始化動作。
2、App在某一版本資料庫結構需要改動時(資料庫版本升為2):
(1)在步驟1的基礎上,修改“dbVersion”屬性方法的傳回值為return 2。
(2)在步驟1的基礎上,添加覆蓋父類方法“onUpgrade”,使用本文“onUpgrade”內示範代碼,只需修改switch內的代碼。
(3)如果在資料庫結構升級完成後需要做一些後續資料處理,可以添加覆蓋父類的方法“didChecked”,寫入資料庫操作的代碼。
(4)在程式啟動時(如“AppDelegate.m”),執行個體化“DBConfigLogic”類並調用“checkDatabase”方法,即可完成資料庫的初始化和升級動作。