微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 objectBox 预先填充的数据库中迁移数据和方案?

如何解决如何从 objectBox 预先填充的数据库中迁移数据和方案?

我使用 ObjectBox 作为 Flutter/Dart 应用程序的数据库管理器。

我使用预填充的数据库 (.mdb),在安装时将其复制到应用程序目录中。

  • 如何处理迁移数据库
  • 我应该设置什么类型的架构来执行数据库中存在的数据和方案的迁移(例如我们可以使用 Realm)
  • 是否有可能得到这样的结果:
     if (oldVersion == 0) {
       // Migrate DATA or/and Schema from v0 to v1
       oldVersion++;
     }

     if (oldVersion == 1) {
       // Migrate DATA or/and Schema from v1 to v2
       oldVersion++;
     }

解决方法

ObjectBox 以不同的方式执行迁移。在许多情况下,它可以在没有任何附加信息的情况下自动完成(例如添加/删除属性和类型)。对于重命名,您必须提供一些额外的信息。 here 记录了整个过程,包括有关 UID 的一些背景知识(如果您有兴趣,请转到“操作方法”部分)。

从你的问题来看,我不知道这是否是你要找的。如果您希望触发自己的逻辑,例如在应用程序更新时,它就完全掌握在您手中。例如。您可以拥有自己的“元”类型来承载您的应用版本,并基于此进行任何与应用相关的更新。

PS.:我不确定您正在处理“预先填充的数据库”这一事实会如何影响这一点;我的理解是不应该。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。