CoreData to Realm迁移和Realm内部迁移作为单独的步骤

时间:2018-01-23 10:14:33

标签: ios realm realm-migration

我有一个生产应用程序,其中使用CoreData框架存储数据,并且由于数据仅包含用户生成的内容而且未同步到任何地方,因此我无法进行干净的中断。我不想支持CoreData迁移到我拥有的最新版本的Realm数据库,我想将CoreData文件迁移到我的realm数据库的第一个版本,然后应用领域迁移。这可能吗?

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

1 个答案:

答案 0 :(得分:1)

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

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

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