【问题标题】:Realm schema version领域架构版本
【发布时间】:2017-03-26 20:17:56
【问题描述】:

我有错误:

“提供的架构版本 0 低于上次设置的版本 7。”

什么时候

let realm = try! Realm()

仅在一个 NSViewController 类上。

在其他视图控制器上工作正常。

一些帮助...

【问题讨论】:

  • 您找到解决问题的方法了吗?
  • 每次对数据模型进行更改时,请在运行应用程序之前删除应用程序创建的领域文件。无需增加架构版本。
  • 太好了,谢谢。您如何亲自删除领域文件?我在创建新版本之前从手机中删除了该应用程序,但我的领域错误仍然存​​在,即使我认为这是一个迁移/架构问题。

标签: swift3 realm


【解决方案1】:

这意味着 Realm 文件的内部架构版本号是 7,但如果您使用默认的 Realm Configuration 对象,它仍然是 0。

这意味着您的 Realm 文件已经经历了多次迁移,即使它们已完成,您仍然需要在 Configuration 对象中反映这一点,因此 Realm 认为它不需要运行另一次迁移。

let config = Realm.Configuration(
schemaVersion: 7,
migrationBlock: { migration, oldSchemaVersion in
    // Any migration logic older Realm files may need
})

Realm.Configuration.defaultConfiguration = config

let realm = try! Realm()

请查看Migrations in the Realm docs 部分,了解有关迁移系统如何工作的更多信息。 :)

【讨论】:

  • 您好 TiM,我一直在更新 Realm.Configuration 的每个版本。我的配置中有 schemaVersion: 7 。我在主视图的视图控制器中创建 Realm() 实例时遇到问题。在其他视图控制器中工作正常。
  • 嗯,你是如何实例化那个视图控制器的?你是通过故事板做的吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-17
  • 1970-01-01
相关资源
最近更新 更多