美文网首页
realm数据库开发(四)

realm数据库开发(四)

作者: 小歪子go | 来源:发表于2017-11-29 14:28 被阅读0次

realm数据库的升级

以前在使用sqlite数据库用于移动开发APP的开发的时候,当数据库表有新增的字段的时候,我常用的方法就是根据APP的版本新增补表的方式来解决此类问题,这样处理起来相当麻烦,往往要耗费好长时间,一直在寻求一个简单方便快捷的设局库升级额方法,在使用realm数据库的使用,使我的这一个想法变成了现实

1、创建realm对象的时候,实现数据迁移的回调

+(RLMRealm *)getCustomRealm{
    NSString *path = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
    NSString *realmPath = [path stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.realm",realmName]];
    RLMRealmConfiguration *config = [RLMRealmConfiguration defaultConfiguration];
    config.fileURL = [NSURL fileURLWithPath:path];
    config.objectClasses = @[KKExamRLMModel.class,KKInquiryRLMModel.class];
    config.readOnly = NO;
    config.schemaVersion = realmVersion;
    config.migrationBlock = ^(RLMMigration *migration , uint64_t oldSchemaVersion) {       // 这里是设置数据迁移的block
        if (oldSchemaVersion < realmVersion) {
     //若需要对一些字段处理的话可以根据版本对比,对一些字段进行特殊处理
        }
    };
    [RLMRealmConfiguration setDefaultConfiguration:config];
    customRealm = [RLMRealm realmWithURL:[NSURL fileURLWithPath:realmPath]];
    return customRealm;
}

2、当表有新增字段的时候,改变数据库的版本realmVersion(设置成宏)

define realmVersion  9 //当前数据库版本

相关文章

  • Realm for Swift

    Realm Studio 使用 Realm Studio,让开发更有效率。您可以轻松地打开任何 Realm 数据库...

  • realm数据库开发(四)

    realm数据库的升级 以前在使用sqlite数据库用于移动开发APP的开发的时候,当数据库表有新增的字段的时候,...

  • realm数据库开发(二)

    realm数据库的理论知识在[realm数据开发(一)]http://www.jianshu.com/p/76b6...

  • Realm数据库使用及踩坑(Android-Kotlin)

    前言 最近公司新开发了个项目,其中使用到了Realm数据库,在此对Realm数据库的使用及踩坑进行下总结。 Rea...

  • iOS 数据库实战

    经典的数据库服务开发库有一下几种: Realm MagicalRecordMagicalRecordDemo 下...

  • iOS - objective-c中realm的简单实用

    在swift项目的开发中,realm是炙手可热的移动端数据库,我们一起来简单了解下realm[https://re...

  • 移动端数据库realm和wcdb对比

    数据库对比:realm和wcdb数据库的对比 Realm github 13.6k关注、跨平台支持Realm是开源...

  • 移动端iOS系统数据库之Realm(一)数据库创建

    中文版-通俗版-项目实践版 realm数据使用实践 本文总结realm数据库在iOS开发中遇到的问题以及解决办法,...

  • Realm

    Realm的优势与亮点 开源。Realm移动端数据库相关代码已全部开源。数千开发者在GitHub上参与了相关工作。...

  • realm3.0简单使用

    前言 在android开发中,可供选择的数据库很多,如 greenDAO,Realm,ormlite-androi...

网友评论

      本文标题:realm数据库开发(四)

      本文链接:https://www.haomeiwen.com/subject/ccwubxtx.html