设置领域架构版本
Set Realm Schema Version
我是 Realm 的新手,一般来说也是迁移的新手。我的问题是,如果我设置了几个迁移,当用户第一次下载应用程序时会发生什么?新下载的应用程序会经历所有迁移吗?还是只使用最新的模式版本?默认的 Realm 架构版本是否设置为 0?
我正在使用 Swift,这是我正在使用的代码:
// Realm Migration Schema Versions.
let migrationBlock: RLMMigrationBlock = { migration, oldSchemaVersion in
if oldSchemaVersion < 1 {
migration.enumerateObjects(*CLASSNAMEHERE*.className()) { oldObject, newObject in
// Perform migration here.
}
println("Migration for Schema Version 1 complete.")
}
}
RLMRealm.setDefaultRealmSchemaVersion(1, withMigrationBlock: migrationBlock)
在 Realm 中,您从磁盘模式版本迁移到您指定的模式版本。您认为架构版本从零开始是正确的,因此您提供的迁移将是 运行,即使用户 运行 第一次使用该应用程序也是如此。
应通过领域配置在应用中设置当前架构版本。这样新用户就不会经历迁移。
我是 Realm 的新手,一般来说也是迁移的新手。我的问题是,如果我设置了几个迁移,当用户第一次下载应用程序时会发生什么?新下载的应用程序会经历所有迁移吗?还是只使用最新的模式版本?默认的 Realm 架构版本是否设置为 0?
我正在使用 Swift,这是我正在使用的代码:
// Realm Migration Schema Versions.
let migrationBlock: RLMMigrationBlock = { migration, oldSchemaVersion in
if oldSchemaVersion < 1 {
migration.enumerateObjects(*CLASSNAMEHERE*.className()) { oldObject, newObject in
// Perform migration here.
}
println("Migration for Schema Version 1 complete.")
}
}
RLMRealm.setDefaultRealmSchemaVersion(1, withMigrationBlock: migrationBlock)
在 Realm 中,您从磁盘模式版本迁移到您指定的模式版本。您认为架构版本从零开始是正确的,因此您提供的迁移将是 运行,即使用户 运行 第一次使用该应用程序也是如此。
应通过领域配置在应用中设置当前架构版本。这样新用户就不会经历迁移。