我們常使用fmdb或者其他方式建立sqlite資料庫,但是由於版本迭代問題,常常有需求要更新資料庫,比如加欄位、刪除、修改字段等等,怎麼樣才能公升級資料庫且保持原來存的資料有效呢,上**:
const static nsinteger family_list_db_manager_ver = 1;
@implementation ksfamilylistdbmanager
+ (instancetype)sharedmanager
);return s_instance;
}- (id)init else if (ver < family_list_db_manager_ver)
}return self;
}- (void)upgrade
//公升級
[self upgrade:oldversionnum];
// 儲存新的版本號到庫中 -這裡大家可以使用nsuserdefault儲存
[[configdbmanager sharedmanager] setfamilylistdbmanagerversion:family_list_db_manager_ver];
}- (void)upgrade:(nsinteger)oldversion
switch (oldversion)
oldversion ++;
// 遞迴判斷是否需要公升級
[self upgrade:oldversion];
}- (void)upgradefrom1to2
Android 資料庫公升級解決方案
請考慮如下情況 在資料庫公升級時,不同版本的資料庫,他們定義的表結構完全可能是不一樣的,比如v1.0的表a有10個column,而在v1.1的表a有12個colum,在公升級時,表a增加了兩列,此時我們應該怎麼做呢。1,將表a重新命名,改了a temp。2,建立新錶a。3,將表a temp的資料插入...
Android資料庫公升級解決方案
public class dbopenhelper extends sqliteopenhelper override public void oncreate sqlitedatabase db override public void onupgrade sqlitedatabase db,in...
資料庫公升級
公升級 的版本時,我們有時候希望可以把原資料庫中的資料也保留下來,那麼這個時候我們就需要用到資料庫的公升級。在 android 中sqliteopenhelper 中定義了 onupgrade sqlitedatabase db,int oldversion,int newversion 函式來進行...