1、设置一个DB_VERSION
public static final int DB_VERSION = 12、当你要更新表的时候就把DB_VERSION+1,就会触发onUpgrade,数据库就更新了,记得采纳
public DBHelper() {// for test
daoConfig = new DbManager.DaoConfig()
.setDbName(DB_NAME)
.setDbVersion(DB_VERSION)
.setDbDir(Environment.getExternalStorageDirectory())
.setDbOpenListener(new DbManager.DbOpenListener() {
@Override
public void onDbOpened(DbManager db) {
db.getDatabase().enableWriteAheadLogging()
}
})
.setDbUpgradeListener(new DbManager.DbUpgradeListener() {
@Override
public void onUpgrade(DbManager db, int oldVersion, int newVersion) {
updateTable(db, xx.class)
}
})
}
数据库升级可以以app的版本号作为参照,程序升级了,数据库做升级处理。 数据库升级是先把原来数据库拷贝到另一个目录备份,在原来的DB里面把所有表先创建一个备份表出来 tb_旧表名,把新增的表和新增的字段在添进去,然后把旧表的数据遍历 insert到 临时表里,完成后把旧表删除掉,再把tb_旧表名的 改名,把tb_去掉,成功后,将备份的数据库删除调。如果有失败,把这个DB删除掉,把备份的DB拷贝回来。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)