【问题标题】:CoreData to Realm migration and Realm internal migrations as separate stepsCoreData 到 Realm 迁移和 Realm 内部迁移作为单独的步骤
【发布时间】:2018-01-23 10:14:32
【问题描述】:

我有一个使用 CoreData 框架存储数据的生产应用程序,我无法彻底打破数据,因为数据仅包含用户生成的内容,并且没有同步到任何地方。我不想支持 CoreData 迁移到我拥有的最新版本的 Realm 数据库,我想将 CoreData 文件迁移到我的领域数据库的第一个版本,然后应用领域迁移。这可能吗?

我认为Realm.Configuration(objectTypes: [MyClass.self, MyOtherClass.self]) 会对我有所帮助,但这仅适用于当我拥有具有不同属性集的相同类时添加新类的情况。

【问题讨论】:

  • 只是一个随机的想法..您可以从 CoreData 获取所有数据,然后在 Realm 中进行简单的插入。
  • @SahilManchanda 这一步完成了。问题是关于如何继续进行进一步的迁移,彻底改变结构并保持迁移逻辑简单

标签: ios realm realm-migration


【解决方案1】:

到目前为止,我只有在领域模型类中添加新属性并且从不删除/更改的解决方法。此外,我将拥有自己的模型版本,并将其存储在一些共享实体对象中,例如数据库范围的设置。在领域完成他自己的之后,我将进行我的高级迁移。为简单起见,领域模型版本和我的模型版本可以保持相同。

一旦我放弃对 CoreData 的支持,我就可以将我的迁移移动到领域迁移块中,并从对象中删除过时的属性。

这种方法有一个缺点,就是我必须长时间保留旧属性。与同步领域相同。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-24
    相关资源
    最近更新 更多