Android資料庫公升級解決方案

2021-09-29 18:40:51 字數 1367 閱讀 1484

public class dbopenhelper extends sqliteopenhelper 

@override

public void oncreate(sqlitedatabase db)

@override

public void onupgrade(sqlitedatabase db, int oldversion, int newversion)

}

v2需要將feedback增加乙個欄位username,使用者從v1公升級到v2時,需要改變庫表結構並且將原來的feedback進行遷移,v2發版時sqliteopenhelper如下:

public class dbopenhelper extends sqliteopenhelper 

/*** 新增欄位username

* @param db

*/@override

public void oncreate(sqlitedatabase db)

/*** 使用者從v1公升級到v2時改變庫表結構並將v1資料庫中的資料進行遷移

* @param db

* @param oldversion

* @param newversion

*/@override

public void onupgrade(sqlitedatabase db, int oldversion, int newversion)

}}

v3在v2的基礎上增加了表crash,使用者公升級方案可能是:v1-v3,v2-v3,v3發版時sqliteopenhelper如下:

public class dbopenhelper extends sqliteopenhelper 

/*** 建表feedback、crash

** @param db

*/@override

public void oncreate(sqlitedatabase db)

/*** 使用者的公升級方案可能為v1-v3;v2-v3

** @param db

* @param oldversion

* @param newversion

*/@override

public void onupgrade(sqlitedatabase db, int oldversion, int newversion) else if (oldversion==2)

}private void upgradetov2(sqlitedatabase db)

private void upgradetov3(sqlitedatabase db)

Android 資料庫公升級解決方案

請考慮如下情況 在資料庫公升級時,不同版本的資料庫,他們定義的表結構完全可能是不一樣的,比如v1.0的表a有10個column,而在v1.1的表a有12個colum,在公升級時,表a增加了兩列,此時我們應該怎麼做呢。1,將表a重新命名,改了a temp。2,建立新錶a。3,將表a temp的資料插入...

android 資料庫 公升級設計

很久以前設計的資料庫建立與公升級的方法,此設計避免了公升級的時候需要多處修改的弊端。如下 public class dbadatper 資料庫名 private static final string database name test 建表語句 此部分只是使用者第一次安裝的時候會在oncreat...

Android中資料庫公升級說明

1.幫助文件裡說的 資料庫公升級 是指什麼?你開發了乙個程式,當前是1.0版本。該程式用到了資料庫。到1.1版本時,你在資料庫的某個表中增加了乙個字段。那麼軟體1.0版本用的資料庫在軟體1.1版本就要被公升級了。2.資料庫公升級應該注意什麼?軟體的1.0版本公升級到1.1版本時,老的資料不能丟。那麼...