美文网首页
Android GreenDao 3.3.0 数据库升级 (三)

Android GreenDao 3.3.0 数据库升级 (三)

作者: 薰舞空 | 来源:发表于2020-06-08 11:03 被阅读0次

入门:https://www.jianshu.com/p/adfe318fd96d
关联表:https://www.jianshu.com/p/6e3f0592f028

开发过程中难免遇到需要扩充数据库的情况,这时就需要进行数据库升级的配置


首先在DbManager中做一下修改

val devOpenHelper = DaoMaster.DevOpenHelper(context, "xxx.db", null)

这里我们不再使用DaoMaster.DevOpenHelper,而是使用我们自定义的类:

val devOpenHelper = MyOpenHelper(context, "xxx.db", null)

MyOpenHelper的实现如下:

class MyOpenHelper(context: Context, name: String, factory: CursorFactory?) :
    DaoMaster.DevOpenHelper(context, name, factory) {

    override fun onUpgrade(db: Database?, oldVersion: Int, newVersion: Int) {
        super.onUpgrade(db, oldVersion, newVersion)

        ...
    }
}

这里关注的重点就是onUpgrade方法,我们升级数据库的逻辑就在此处。



简单的思路如下:


    override fun onUpgrade(db: Database, oldVersion: Int, newVersion: Int) {
        super.onUpgrade(db, oldVersion, newVersion)

        //在这里拿之前的信息
        db xxxxx

        //移除全部数据库
        DaoMaster.dropAllTables(db, true)

        //创建新库
        onCreate(db)

        //在这里将信息放入新库
        insert xxxxx
    }

相关文章

网友评论

      本文标题:Android GreenDao 3.3.0 数据库升级 (三)

      本文链接:https://www.haomeiwen.com/subject/hclltktx.html