2016-05-27 10 views
6

Vorrei modificare il nome del campo nel processo di migrazione di Realm DB. Sembra che il cambio del nome del campo non sia supportato, e solo il copy-and-remove è l'unico modo per farlo.Realm: modifica del nome del campo per la migrazione

è corretto? consuma molto tempo.

Il codice riportato di seguito è la mia prova per cambiare il campo value a summary in modalità copia e rimuove.

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"); 

risposta

6

Probabilmente quello che vi serve è un metodo: renameField

Esempio:

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

grande :) Grazie. – Youngjae