2016-05-27 7 views
6

レルムDBの移行プロセスでフィールド名を変更したいと思います。 フィールド名の変更はサポートされていないようで、コピーアンドリムートのみが唯一の方法です。レルム:マイグレーションのフィールド名を変更する

これは間違いありませんか? 多くの時間を消費します。コードの下

は、コピーおよび削除の方法でsummaryにフィールドvalueを変更するには、私の試験です。

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

答えて

6

は、おそらく何が必要メソッドです:renameField

例:

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

素晴らしい:)のおかげ。 – Youngjae

関連する問題