ich eine Migration tun will (Realm 87,2) i andere tat vor, aber dies ist nicht einfach, und ich weiß nicht, warumRealm Migration duplizierte Werte
meine previsoly Categoriy.class
private int code;
private String title;
private String category;
private int order;
private boolean visible;
die neue Category.class
@PrimaryKey @Index private String id;
private int code;
private String title;
private String category;
private int order;
private boolean visible;
und am Migration.class
aus irgendeinem dummen Grund und ich weiß nicht, was im falsch zu machen, halten Sie es mir diesen Fehler geben:
java.lang.IllegalArgumentException: Illegal Argument: Field "id" cannot be a primary key, it already contains duplicate values:
WAS? Es gibt keine doppelten Werte in der Kategorie Klasse, ich bin mir ziemlich sicher.
PS: Dies geschieht nur, wenn ich wirklich die Migration verwenden und hat previosly KATEGORIE RECORDS
--------------------- EDIT 22/03
versucht, dies als Emanuelez`s Vorschlag:
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");
}
der Fehler in diesem gedreht -
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().
i ve tried
.setNullable („id“, true); `
nichts geändert zu
versuchte diese 3 Schritte, nichts geändert, nur der Fehler, und ich denke, dass ich genau das gleiche tun, wie der Test, den Sie mir = = ( – user2582318
Any Update ?? Da ich immer noch mit diesem Problem konfrontiert bin. – AndoAiron