房间迁移错误

时间:2018-05-28 06:02:26

标签: android sqlite android-activity android-room android-database

我在我的应用程序的房间数据库中使用了模型内部的模型。 就像这样:

我有 PackageModel

@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 ='已删除',type =' INTEGER',notNull = false,primaryKeyPosition = 0} },foreignKeys = [],indices = []}

     

实测值:       TableInfo {name =' DeliveryJsonModel',columns = {deleted = Column {name ='已删除',type =' INTEGER',notNull = true,primaryKeyPosition = 0} },foreignKeys = [],indices = []}

正如您所看到的,已找到已删除的值htat false ,我不明白为什么会发生这种情况,我在迁移中将默认值设置为0。

任何人都可以帮助我吗?

0 个答案:

没有答案