我正在使用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"来自"数据" Ť
我该如何解决这个问题?
答案 0 :(得分:7)
搜索了几个小时后,我找到了答案。答案是增加build.gradle文件中的schemaversion。
greendao { schemaVersion 1 }
到
greendao { schemaVersion 2 }
然后重建应用并重新安装。
答案 1 :(得分:0)
@Saroj请找到数据库的创建位置。无论您是在内部缓存目录中还是在外部SD卡中创建的。看到您的上述问题,它似乎在外部SD卡中。该路径可能是mnt / sdcard / data,如果您使用的是设备,请尝试使用Android Studio的fileExplorer或使用资源管理器找到您的数据库。删除该数据库和应用程序,然后重新安装该应用程序