如何在Android的领域数据库中迁移?

时间:2020-09-16 11:31:12

标签: android realm

我在应用程序中使用Realm数据库,当我向Realm-Model添加一些字段并安装应用程序时,所有数据将被删除。

我在Application类中设置Realm数据库,如下所示:

Realm.init(applicationContext)
val configuration = RealmConfiguration.Builder()
   .name("notes.realm")
   .schemaVersion(1)
   .deleteRealmIfMigrationNeeded()
   .build()
try {
    Realm.setDefaultConfiguration(configuration)
} catch (e: RealmError) {
     if (e.message?.contains("Permission denied")!!) {
         Realm.deleteRealm(configuration)
         Realm.setDefaultConfiguration(configuration)
     } else {
          throw e
     }

这是我的第一个数据类:

open class NoteMainModelRealm(
@PrimaryKey
var id: Long,
var title: String,
var text: String,
) : RealmObject() {
    constructor() : this(0, "", "")
}

然后,我向此类添加一些字段:

open class NoteMainModelRealm(
@PrimaryKey
var id: Long,
var title: String,
var text: String,
var date: String,
var fav: Boolean,
) : RealmObject() {
    constructor() : this(0, "", "", "", false)
}

如何防止信息被删除?

0 个答案:

没有答案