RLMRealmConfiguration *config =[RLMRealmConfiguration defaultConfiguration];
// 數(shù)據(jù)庫本地路徑
config.schemaVersion=2;
// 設(shè)置閉包,這個閉包將會在打開低于上面所設(shè)置版本號的 Realm 數(shù)據(jù)庫的時候被自動調(diào)用
config.migrationBlock = ^(RLMMigration *migration, uint64_t oldSchemaVersion) {
NSLog(@"%llu",oldSchemaVersion);
// 目前我們還未進行數(shù)據(jù)遷移,因此 oldSchemaVersion == 0
if (oldSchemaVersion < 1) {
// 什么都不要做!Realm 會自行檢測新增和需要移除的屬性,然后自動更新硬盤上的數(shù)據(jù)庫架構(gòu)
}
};
[RLMRealmConfiguration setDefaultConfiguration:config];
// 現(xiàn)在我們已經(jīng)告訴了 Realm 如何處理架構(gòu)的變化,打開文件之后將會自動執(zhí)行遷移
[RLMRealm defaultRealm];
NSLog(@"%@", config.fileURL);