Migration 当我在房间中迁移数据库时,它显示错误
我正在将room db从版本2迁移到版本3。但是它显示的错误如下 原因:java.lang.IllegalStateException:迁移未正确处理用户信息作业(com.nsas.bharatnext.DataBase.JobUserInfoTable)。 预期: TableInfo{name='user\u info\u job',columns={sl\u no=Column{name='sl\u no',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u PIN\u code=Column{name='user\u PIN code',type='TEXT',affinfinity='2',notNull=false,primaryKeyPosition 0},user\email=Column{name='user='user\u email',affinity='TEXT',affinity='2',notNull=false,primarykeyparykeyposition 0},user\u door\u no=Column{name='user\u door\u no',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u name=Column{name='user\u name',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u diplication=Column{name='user='user\u diplication',type='TEXT',affinity='2',notNull=false,primarykeype=0},id\u val=Column{name='id'u val',type='INTEGER',affinity='3',notNull=true,primaryKeyPosition=1},user_specialization=Column{name='user_specialization',type='TEXT',affinity='2',notNull=false,type='TEXT',notNull=false,primaryKeyPosition=0},user_city=Column{name='user_city',TEXT',affinity='2',notNull=false,primaryKeyPosition{name='user\u gender',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u date\u of_birth=Column{name='user\u date\u of_birth',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u婚姻状况=Column{name='user\u婚姻状况',type='TEXT',affinity='2',notNull=false,primarykeyperykeyposition 0},user\u病房=Column{name='user\u ward',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u state=Column{name='user\u state',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u education\u configuration=Column{name='user\u education\u configurance',type='TEXT',affinity='2',notNull=false,primaryKeyPosition 0},user\u mobile\u num=Column{name='user\u mobile\u num',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u course=Column{name='user\u course',type='TEXT',affinity='2',notNull=false,type='TEXT',affinity='2',notNull=false,primaryKeyPosition 0},user\u locality=Column{name='user\u locality',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u sub\u city=Column{name='user\u sub\u city',type='TEXT',affinity='2',notNull='2',notNull=false,notNull=false,primaryKeyPosition=0},user\u street\u name=Column{name='TEXT',affinity='2',notNull=false,primarykeyperykeyposition 0},user\u caste=Column{name='user\u caste',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},user\u 10th=Column{name='user\u 10th',type='TEXT',affinity='2',notNull=false,primaryKeyPosition=0},job\u sl\u no=Column{name='job\u sl\u no',type='TEXT',affinfinity='2',notNull=false,primaryKeyPosition 0},foreignKeys=[],index=[] @数据库(实体={UserInfoTable.class,JobUserInfoTable.class,PolicyUserInfoTable.class,WorkForYouTable.class,UserDetailsTable.class},版本=3,exportSchema=false) @类型转换器({Converter.class}) 公共抽象类MyAppDataBase扩展了RoomDatabase{Migration 当我在房间中迁移数据库时,它显示错误,migration,android-room,Migration,Android Room,我正在将room db从版本2迁移到版本3。但是它显示的错误如下 原因:java.lang.IllegalStateException:迁移未正确处理用户信息作业(com.nsas.bharatnext.DataBase.JobUserInfoTable)。 预期: TableInfo{name='user\u info\u job',columns={sl\u no=Column{name='sl\u no',type='TEXT',affinity='2',notNull=false,pri
public abstract MyDao myDao();
public abstract UserDAO userDAO();
public static MyAppDataBase mInstance;
public static MyAppDataBase getInstance(Context context){
if(mInstance!=null){
mInstance= Room.databaseBuilder(context,MyAppDataBase.class,"userdb")
.addMigrations(MIGRATION_2_3)
.build();
}
return mInstance;
}
public static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL(
"CREATE TABLE work_for_you_info (state TEXT, city TEXT, consistency TEXT, PRIMARY KEY(slno))");
}
};
public static final Migration MIGRATION_2_3 = new Migration(2, 3) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL("DROP TABLE user_info_job");
database.execSQL("DROP TABLE user_info_policy");
database.execSQL("DROP TABLE work_for_you_info");
database.execSQL(
"CREATE TABLE user_details (user_sl_no TEXT,name TEXT, email TEXT, mobile_num TEXT," +
"date_of_birth TEXT,religion TEXT, caste TEXT, subCaste TEXT," +
"occupation TEXT,state TEXT, district TEXT, constituency TEXT," +
"village TEXT,ward TEXT, gender TEXT, marital_status TEXT," +
"door_no TEXT,street_name TEXT, locality TEXT, PIN_code TEXT," +
"educational_qualification TEXT,course TEXT, specialisation TEXT, disabled TEXT," +
"userRelation TEXT)");
}
};
}任何人请帮助我解决方案任何人请帮助我解决方案