Android 安装新应用程序更新后重置领域数据库

Android 安装新应用程序更新后重置领域数据库,android,google-play,realm,android-update-app,Android,Google Play,Realm,Android Update App,在使用期间,realm数据库工作得很好,但我注意到在从play store更新我的应用程序时,我以前版本中的数据被删除了。事情是这样的: 我对应用程序做了一些UI更改,因此领域架构从未更改(也就是说,我从未更改过我的数据库对象。我现在的应用程序中也没有任何迁移代码,因为我认为我不需要它,也没有像我提到的那样更改数据库对象)。然后我完成了Google play的更新过程,如果我在这里做错了什么,请纠正我: 我去了项目结构,把版本号从etc.3增加到了4 然后我切换到发布模式,构建了一个新生成的签名

在使用期间,realm数据库工作得很好,但我注意到在从play store更新我的应用程序时,我以前版本中的数据被删除了。事情是这样的:

我对应用程序做了一些UI更改,因此领域架构从未更改(也就是说,我从未更改过我的数据库对象。我现在的应用程序中也没有任何迁移代码,因为我认为我不需要它,也没有像我提到的那样更改数据库对象)。然后我完成了Google play的更新过程,如果我在这里做错了什么,请纠正我:

  • 我去了项目结构,把版本号从etc.3增加到了4
  • 然后我切换到发布模式,构建了一个新生成的签名apk
  • 我将apk上传到play console菜单中的发布模块,然后继续发布应用程序的过程 在等待我的更新在商店上线几个小时后,当我下载更新时,它再次擦除了数据库

    困惑于这是什么原因,因为从我在论坛上看到的情况来看,即使在IOS和Android更新之后,realm也应该保持不变


    谢谢你的帮助

    您使用哪个版本的Realm?这是我在gradle文件“io.Realm:Realm gradle plugin:3.1.4”中看到的。您是否在
    RealmConfiguration
    中设置了
    DeleteIfMigrationRequired
    ?您可能已经设置了
    DeleteIfMigrationRequired()
    在您的RealmConfiguration上如果您没有更改Realm的版本&没有更改架构,那么我不明白为什么应该触发
    deleteIfMigrationNeeded
    (即使我认为您以前已经设置过)。。。你是如何检查这个领域是否被消灭的?你能使用adb pull(adb pull)拉取域文件并用RealmBrowser(或Realm Studio)观察它以确保它不是空的吗?你使用哪个版本的域?这是我在gradle文件“io.Realm:Realm gradle plugin:3.1.4”中看到的您是否在
    RealmConfiguration
    中设置了
    deleteIfMigrationNeeded
    ?您可能已经在RealmConfiguration上设置了
    deleteIfMigrationNeeded()
    如果您没有更改Realm的版本和架构,那么我不明白为什么应该触发
    deleteIfMigrationNeeded
    (即使我假设您以前设置过)…您如何检查域是否已被清除?您可以使用
    adb pull
    提取域文件,并使用RealmBrowser(或Realm Studio)观察它以确保它不是空的吗