2017-05-24 3 views
0

일부 스키마가 포함 된 기본 영역 인스턴스로 작업하고 있습니다. 이제 다른 영역 인스턴스에 새 스키마를 만들려고합니다. 그래서 새로운 영역 구성을 만들었습니다.이 새로운 스키마에 대한 엔티티를 쿼리하거나 저장할 때 기본 구성 대신 새 구성을 사용합니다. 이런 방식으로, 나는 다른 데이터베이스와 함께 사용하기 때문에 새로운 스키마에 대한 마이그레이션을 생성 할 필요가 없다. 하지만 기본 영역 인스턴스를 사용할 때 예외가 throw됩니다 (RealmMigrationNeededException). 이는 새 스키마에 대한 마이그레이션을 만들어야한다는 것을 알려줍니다. 새로운 데이터베이스에서만 새로운 스키마로 작업하고 싶다면 어떤 식 으로든 피할 수 있습니까?두 개의 다른 영역 구성 사용 방법

답변

3

검사 영역의 문서 : 당신은 다른 구성을 위해 2 개 사용자 정의 모듈을 정의 할 필요가 https://realm.io/docs/java/latest/#schemas

. 예를 들어, configB는 Cat.class 스키마에만 관심이 있습니다.

// Create my module A 
@RealmModule(classes = { Person.class, Dog.class }) 
public class MyModule { 
} 

// Create the module B 
@RealmModule(classes = { Cat.class }) 
public class MyOtherModule { 
} 

// Set the module in the RealmConfiguration to allow only classes defined by the module. 
RealmConfiguration configA = new RealmConfiguration.Builder() 
    .modules(new MyModule()) 
    .name("A.realm") 
    .build(); 

RealmConfiguration configB = new RealmConfiguration.Builder() 
    .modules(new MyOtherModule()) 
    .name("B.realm") 
    .build(); 
+1

감사합니다. 그것이 내가 찾고 있던 것입니다. –