Я использовал модель внутри модели в Базе данных комнаты моего приложения.Это так:
У меня есть 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
Проблема началась, когда я добавил столбец deleted
в мою PackageModel.Поскольку я использую PackageModel во второй модели, он также ожидает столбец deleted
.
Поэтому я записал перенос для этого как:
database.execSQL("ALTER TABLE DeliveryJsonModel ADD COLUMN deleted INTEGER NOT NULL DEFAULT 0");
Но мое приложение выбрасываетa Ошибка помещения, связанная с тем, что
Комната не может обработать миграцию.
Ожидается: TableInfo {name = 'DeliveryJsonModel', столбцы = {удалено = столбец {имя = 'удалено',type = 'INTEGER', notNull = false, primaryKeyPosition = 0}}, foreignKeys = [], индексы = []}
Найдено: TableInfo {name = 'DeliveryJsonModel', столбцы = {удалено = столбец {имя= 'удалено', тип = 'INTEGER', notNull = true, primaryKeyPosition = 0}}, foreignKeys = [], индексы = []}
Как видно, удаленное значение найдено, htat найден false , я не понимаю, почему это происходит, я установил значение по умолчанию 0 в моих миграциях.
Кто-нибудь может мне помочь?