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()方法報錯,如下圖:


    image

    錯誤原因就是int類型數據在數據庫中不能為null,所有我們在拼接sql語句的時候給int類型初始化一個默認值0,就可以完美解決這個問題,修改后的restoreData()方法如下圖:


    image
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,758評論 18 399
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,098評論 25 708
  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,768評論 0 33
  • 柏拉圖以蘇格拉底的口展示出他對城邦發展的想法,他提出要建設一個哲人王政體,以此來帶領人們走向幸福。 在這本書中,存...
    鯨北晨閱讀 2,048評論 2 14
  • 昨天下午從從拉薩出發,經過一夜的奔波,于今天下午到達蘭州,蘭州的天空與拉薩有很大不同,灰蒙蒙的,心情多少有點壓抑,...
    一笑人生閱讀 496評論 4 12