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中添加文本列并存储在那里?