我们面临的问题是我们无法使用新的架构版本进行迁移,因此我们希望清除所有领域数据,并创建一个新的(对于架构版本低于此新编号的所有用户)。
但除了仅在迁移块中,我才能找到一种方法让我知道这个数字。
有没有办法知道这个架构版本在哪里?
从技术上讲,您根本无法在不访问Realm文件的情况下检查架构版本,但您不需要完全访问权限并指定匹配的架构来只读取架构版本。我们有功能允许这一点。
从Objective-C,您可以使用类方法:
+[RLMRealm schemaVersionAtPath:error:]
从Realm Swift,您可以使用免费功能:schemaVersionAtPath(_:encryptionKey:error:)
。
let configCheck = Realm.Configuration();
do {
let fileUrlIs = try schemaVersionAtURL(configCheck.fileURL!)
print("schema version \(fileUrlIs)")
} catch {
print(error)
}