前面博客中有介绍轻量级的数据库GreenDao的整合。本文介绍如何对GreenDao数据库进行升级。
为什么要进行数据库升级呢?
在项目建立之初,数据库的表结构基本上以满足现阶段的业务而建立,随着后面业务的增加需要更多的column
,或者废弃掉表中的某些column
,此时如果直接去修改表结构,就会与之前已有的表冲突,导致Crash,此时我们就需要升级数据库中的表。
数据库升级的思路
删除重建
这种方法是最简单直接的。直接将之前的数据库删除后,再重新建立数据库。这样会使得之前保存的数据丢失。不需要持久化的保存数据,可以采用这种方式。
逐级版本迭代升级
比如当前版本为1,最新版本为3,此方案就是先从1–>2–>3. 这种方法实际应用中用起来相当的繁琐,要维护每个版本,所以不做过多介绍。
备份数据库,建立新数据库,然后将备份导入
如题,,奖原来的表删除,之后再将临时表插入到新建的表之中,然后再将临时表给删除了。以此完成数据迁移。
在原表基础上直接添加新的column
对比原表,增加或者删除column
代码实现
首先创建一个数据库帮助类
|
|
修改greenDao
的版本号,在内层的gradle
中的buildTypes
节点下添加12345greendao{ schemaVersion 1 // 这个地方是自动生成的配置文件存放在哪个位置的 targetGenDir 'src/main/java' }
以下是更新方式:
- 删除再新建
|
|
- 备份数据库,建立新数据库,然后将备份导入
|
|
- 对比表差异,向原表中直接插入
column
|
|
下面贴出,完整的数据库升级帮助类
|
|
以上是本人自己整理的一些升级方法,请大家批评指正。