2016-05-27 18 views
6

Tôi muốn thay đổi tên trường trong quá trình di chuyển Realm DB. Có vẻ như việc thay đổi tên trường không được hỗ trợ và chỉ sao chép và xóa là cách duy nhất để thực hiện.Lĩnh vực: thay đổi tên trường để di chuyển

có đúng không? Nó tiêu tốn rất nhiều thời gian.

Mã dưới đây là bản dùng thử của tôi để thay đổi trường value thành summary theo cách sao chép và xóa.

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

Trả lời

6

Có lẽ những gì bạn cần là một phương pháp: renameField

Ví dụ:

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

tuyệt vời :) cảm ơn. – Youngjae

Các vấn đề liên quan