领域从必需变量迁移到可以为空的
我有一个变量,这是我以前版本的领域中的必需字段。但对于较新版本,我希望它不是必需的,而是可以为空的。我如何通过领域迁移来做到这一点?
答案 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)}