greenDAO的使用详解—(3)greenDAO3.2.2数据库的升级bug解决

移动开发 waitig 834℃ 百度已收录 0评论

greenDAO的使用详解—(3)greenDAO3.2.2数据库的升级bug解决

1.解决上一篇遗留的第一个bug

原因分析: 当某张表需要添加一个int类型的列时,升级数据库则会报NOT NULL约束不通过,原因是 GreenDao建表时int 类型 加了NOT NULL

  1. 解决方案一:在bean对象中不使用int类型属性,直接使用int的包装类Integer或者String代替,个人感觉这是最简单的方式。
  2. 解决方案二:通过报错信息,我们可以发现是MigrationHelper.java类中的restoreData()方法报错,如下图:

    错误原因就是int类型数据在数据库中不能为null,所有我们在拼接sql语句的时候给int类型初始化一个默认值0,就可以完美解决这个问题,修改后的restoreData()方法如下图:

2.解决上一篇遗留的第二个bug

待续….


本文由【waitig】发表在等英博客
本文固定链接:greenDAO的使用详解—(3)greenDAO3.2.2数据库的升级bug解决
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)