领域从必需变量迁移到可空

时间:2018-02-21 06:36:04

标签: android realm realm-mobile-platform realm-migration

领域从必需变量迁移到可以为空的

我有一个变量,这是我以前版本的领域中的必需字段。但对于较新版本,我希望它不是必需的,而是可以为空的。我如何通过领域迁移来做到这一点?

2 个答案:

答案 0 :(得分:4)

您可以查看Realm团队提供的migrationExample中的示例

.first{
  padding:0px 15px;
}

如果您已与Realm Object Server同步,请检查:https://realm.io/docs/java/latest/#syncing-migrations

答案 1 :(得分:0)

您可以通过以下方式在领域中更改表 首先,您将变量声明为可选

open class YourModel: RealmObject() {
@SerializedName("english") var english: String? = "" }

然后在您的迁移文件中完成

 override fun migrate(realm: DynamicRealm?, oldVersion: Long, newVersion: Long) {
    val schema = realm?.schema
    if (oldVersion < 1L) {
                schema?.get("YourModel")
                        ?.removeField("english")
                        ?.addField("english", String::class.java)}

 schema?.get("YourModel")
                   ?.setNullable("english",true)}