değerleri, ama bu kolay değil ve ben bilmiyorum nedenDiyar Göç Yinelenen i evvel başkalarının yaptığı bir Göç (Diyar 87.2) yapmak istiyorum
benim previsoly Categoriy.class
private int code;
private String title;
private String category;
private int order;
private boolean visible;
@PrimaryKey @Index private String id;
private int code;
private String title;
private String category;
private int order;
private boolean visible;
ve Migration.class
yeni Category.class 0 aptal bir nedenden dolayıpublic class Migration....
int i = 0;
.....
if(oldVersion == 7) {
schema.get("Category").addField("id", String.class, FieldAttribute.PRIMARY_KEY).transform(new RealmObjectSchema.Function() {
@Override
public void apply(DynamicRealmObject obj) {
obj.set("id", UtilsForAll.getRandomUUID()); //Get Random UUID for previsoly added categories
obj.set("order", i);
i++;
}
});
oldVersion++;
}
} //finishClass
ve ben ne yanlış yaptığını im bilmiyorum, bana bu hatayı vermeye devam:
java.lang.IllegalArgumentException: Illegal Argument: Field "id" cannot be a primary key, it already contains duplicate values:
NE? Kategori sınıfında yinelenen değerler yok, oldukça eminim.
Not: bu sadece ben gerçekten Migration kullanırken olan ve HAS previosly KATEGORİ KAYITLAR
--------------------- DÜZENLEME 22/03
-io.realm.exceptions.RealmMigrationNeededException: Field 'id' does support null values in the existing Realm file. Remove @Required or @PrimaryKey from field 'id' or migrate using io.realm.internal.Table.convertColumnToNotNullable().
ihata bu bir dönüştü
if(oldVersion == 7) {
schema.get("Category").addField("id", String.class);
schema.get("Category").transform(new RealmObjectSchema.Function() {
@Override
public void apply(DynamicRealmObject obj) {
obj.set("id", UtilsForAll.getRandomUUID()); //Get Random UUID for previsoly added categories
}
});
oldVersion++;
schema.get("Category").setPrimaryKey("id");
}
:
Emanuelez`s öneri olarak bu çalıştı.setNullable (true "id"); tüm bu alanları varsayılan değer başlatılır çünkü `
şey sadece özelliği olan bir alan ekleyemezsiniz yeni bir birincil anahtar alanı eklemek için çok
, bu 3 adımı denedi, hiçbir şey değişmedi, sadece hata ve ben de bana işaret ettiğin testle aynı şeyi yapıyorum = ( – user2582318
Herhangi bir güncelleme var mı? Hala bu sorunla karşı karşıya olduğum için. – AndoAiron