2016-05-27 11 views
6

Ich möchte den Feldnamen im Realm DB-Migrationsprozess ändern. Es scheint, dass das Ändern des Feldnamens nicht unterstützt wird, und nur das Kopieren und Entfernen ist die einzige Möglichkeit.Realm: Ändern des Feldnamens für die Migration

ist das korrekt? Es verbraucht viel Zeit.

Unten Code ist mein Versuch, Feld value zu summary in Kopie-und-entfernen-Weise zu ändern.

RealmSchema schema = realm.getSchema(); 
schema.get("Invoice") 
.transform(new RealmObjectSchema.Function() { 
    @Override 
    public void apply(DynamicRealmObject obj) { 
     obj.set("summary", obj.getString("value")); 
    } 
}) 
.removeField("value"); 

Antwort

6

Wahrscheinlich Sie was brauchen, ist eine Methode: renameField

Beispiel:

RealmSchema schema = realm.getSchema(); 
schema.get("Invoice").renameField("value", "summary"); 
+0

great :) Dank. – Youngjae

Verwandte Themen