Android 房间迁移错误
我已经在我的应用程序的房间数据库中的模型中使用了一个模型。 是这样的: 我有一个包模型Android 房间迁移错误,android,sqlite,android-activity,android-room,android-database,Android,Sqlite,Android Activity,Android Room,Android Database,我已经在我的应用程序的房间数据库中的模型中使用了一个模型。 是这样的: 我有一个包模型 @Entity public class PackageModel { @PrimaryKey (autoGenerate = false) @NonNull String package_id; String location mobil,isChecked; 还有另一种模式: @Entity public class DeliveryJsonModel { @PrimaryKey @NonNull
@Entity
public class PackageModel {
@PrimaryKey (autoGenerate = false)
@NonNull
String package_id;
String location mobil,isChecked;
还有另一种模式:
@Entity
public class DeliveryJsonModel {
@PrimaryKey @NonNull
String deliveryJsonid;
@Embedded
PackageModel packageModel;
String ktr_datotid, ktrpkt_type,tg_aarsak_kode, aarsak_nr, bruker, sig_fil_ref, id_type;
boolean skade, isPackageScanned, isNotFound;
在第二个模型中,我使用@embedded
标记来使用PackagModel
当我在PackageModel中添加列deleted
时,问题就开始了。因为我在第二个模型中使用了PackageModel,所以它也希望那里有deleted
列
所以我写了一份移民报告:
database.execSQL("ALTER TABLE DeliveryJsonModel ADD COLUMN deleted INTEGER NOT NULL DEFAULT 0");
但是我的应用程序抛出了一个房间错误
房间无法处理迁移
预期:
TableInfo{name='DeliveryJsonModel',columns={deleted=Column{name='deleted',type='INTEGER',notNull=false,primaryKeyPosition=0},foreignKeys=[],index=[]}
发现:
TableInfo{name='DeliveryJsonModel',columns={deleted=Column{name='deleted',type='INTEGER',notNull=true,primaryKeyPosition=0},foreignKeys=[],index=[]}
正如您所看到的,htat is found的删除值是false,我不明白为什么会发生这种情况,我在迁移中已将默认值设置为0
有人能帮我吗?为什么不在json中添加文本列并存储在那里?