android - 无法确定房间数据库版本错误
问题描述
这是我得到的错误,
java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number.
at android.arch.persistence.room.RoomOpenHelper.checkIdentity(RoomOpenHelper.java:135)
at android.arch.persistence.room.RoomOpenHelper.onOpen(RoomOpenHelper.java:115)
at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.java:151)
at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:411)
at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:298)
at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableSupportDatabase(FrameworkSQLiteOpenHelper.java:96)
at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableSupportDatabase(FrameworkSQLiteOpenHelper.java:100)
at android.arch.persistence.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.java:54)
at android.arch.persistence.room.RoomDatabase.query(RoomDatabase.java:233)
我的数据库类是
@Database(entities = SliderImageModel.class, version = DbConfig.Version_SliderImage_84, exportSchema = false)
public abstract class SliderImageDatabase extends RoomDatabase {
public abstract SliderImageDao sliderImageDao();
public static SliderImageDatabase INSTANCE;
private static final Migration MIGRATION_1_84 = new Migration(DbConfig.Version_NewsAnnouncement_1, DbConfig.Version_SliderImage_84) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL(SLIDERIMAGE);
}
};
private static final Migration MIGRATION_2_84 = new Migration(DbConfig.Version_SchoolEvent_2, DbConfig.Version_SliderImage_84) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL(SLIDERIMAGE);
}
};
解决方案
如前所述,通过增加您的版本号来尝试以下操作,
@Database(entities = pojo.class, exportSchema= false, version=2 )
推荐阅读
- android - 将布局约束为屏幕高度的 50%?
- python - Django 将外键值与另一个模型的属性进行比较
- css - Bootstrap4 - 全屏仪表板,带有调整大小和填充/拉伸到其 div 中的图像?
- odbc - 如何在 Wine 中为 BlackBox Component Builder 设置 ODBC?
- python - 让 Kivy 在 Win10 上的 WSL2 上的 Ubuntu 中工作
- reactjs - 如何渲染特定时间戳的反应组件
- javascript - 使用 CryptoJS (JAVASCRIPT) 和 OpenSSL (PHP) 实现相同的加密
- microsoft-graph-api - Microsoft Teams 云呼叫/图表 - 有没有办法让机器人将 PSTN 参与者添加到会议中?
- python - CIFAR10 数据加载器采样器拆分
- c# - 在 C# 中使用 Deedle 需要哪些 using 语句?“无法加载类型‘Deedle.Frame’”异常