0

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

我使用预填充的数据库 (.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++;
     }
4

1 回答 1

1

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

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

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

于 2021-07-29T11:28:48.673 回答