2017-05-04 6 views
0

새로운 영역 객체 (B)와 새 영역을 새 객체 B를 참조하는 기존 영역 객체 (A)에 만들었습니다. 마이그레이션 파일에 다음과 같이했습니다.새 외부 필드가있는 영역 마이그레이션

if(!realm.getSchema().contains("B")) { 
    realm.getSchema().create("B").addField("name", String.class).addField("resId", int.class); 
} 

RealmObjectSchema schemaA = realm.getSchema().get("A"); 

if (!schemaA .hasField("referenceToB")) { 
    schemaA .addField("referenceToB", B.class); 
} 

그것은 작동하지 않습니다, 내가 얻을 : java.lang.IllegalArgumentException가 : 영역이 필드 유형을 지원하지 않습니다 : B 난에 A와 B 참조이 새 필드를 만들 수있는 방법

을 내 마이그레이션 파일?

답변

1

설명서에 따라 링크 필드를 추가하려면 addField() 대신 realmObjectSchema.addRealmObjectField()을 사용해야합니다.

if (!schemaA.hasField("referenceToB")) { 
    RealmObjectSchema bSchema = schema.get("B"); 
    schemaA.addRealmObjectField("referenceToB", bSchema); 
} 
+0

정말 고마워. –