更新数据模型/类型greendao没有给出这样的列错误

时间:2017-04-25 05:38:30

标签: android sqlite greendao

我正在使用Library greendao将数据类型保存到本地数据库。设置实体并运行应用程序后,在api响应中添加了一个新属性。它变成了这样的东西。 之前:

@Entity
public class Data{
    @Id
    long id;
    String name;
    String detail;
}

后:

@Entity
public class Data{
    @Id
    long id;
    String name;
    String detail;
    String image;
  }

更新数据类型后,我重新安装了应用程序,然后运行应用程序,但是android.database.sqlite.SQLiteException出错:没有这样的列:T.IMAGE(代码1):,编译时:SELECT T。&#34 ; _id",T" NAME",T" DETAIL",T" IMAGE"来自"数据" Ť

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:7)

搜索了几个小时后,我找到了答案。答案是增加build.gradle文件中的schemaversion。

greendao {     schemaVersion 1 }

greendao {     schemaVersion 2 }

然后重建应用并重新安装。

答案 1 :(得分:0)

@Saroj请找到数据库的创建位置。无论您是在内部缓存目录中还是在外部SD卡中创建的。看到您的上述问题,它似乎在外部SD卡中。该路径可能是mnt / sdcard / data,如果您使用的是设备,请尝试使用Android Studio的fileExplorer或使用资源管理器找到您的数据库。删除该数据库和应用程序,然后重新安装该应用程序