2017-05-24 107 views
0

我正在使用默認領域實例,其中包含一些模式。現在,我想在不同的領域實例中創建一個新的模式。所以我創建了一個新的Realm配置,當我爲這個新模式查詢或存儲實體時,我使用新配置,而不是默認配置。通過這種方式,我期望避免爲新模式創建遷移的需求,因爲我將它與不同的數據庫一起使用。但是,當我使用默認領域實例時,會引發異常(RealmMigrationNeededException),它告訴我必須爲我的新模式創建遷移。如果我只想在新的數據庫中處理新的模式,我能否以任何方式避免這種情況?如何使用兩種不同的領域配置

回答

3

檢查領域的文檔: https://realm.io/docs/java/latest/#schemas

您需要定義不同配置的2個自定義模塊。 例如,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

非常感謝!這正是我所期待的。 –