【发布时间】:2020-08-11 14:49:35
【问题描述】:
Realm 有两种处理架构更改的方法:
- 运行迁移块,或
- 删除架构
在我们的案例中不需要选项 2,因为我们有很多数据,我们的架构版本与内部版本号相关,而且我们经常发布。
所以我们使用选项 1。但在某些情况下,如果旧模式版本太旧,运行选项 2 而不是迁移会很方便。这可能吗?
用例 1:我想重命名一个 Object 类,但我不想冒险搞砸迁移(这很容易做到)。对于从重命名之前的版本迁移的用户,我可以删除架构,但我不想继续删除架构以进行后续迁移。
用例 2:我自 2016 年以来一直在编写迁移(!),但我只关心为定期更新的用户运行迁移(而不是删除架构)。所以我想维持长达几个月的迁移,并为之前升级的任何人删除架构。
如果我可以弄清楚如何在在应用配置之前访问我的领域的旧架构版本,我可能会想出一个解决方法,但它似乎是 Realm 让我看到架构的唯一空间版本在迁移块中,当您已经在运行迁移时,似乎无法决定删除架构。
【问题讨论】: