【问题标题】:Example of migration logic for changing Property Types Objectbox Flutter更改属性类型 Objectbox Flutter 的迁移逻辑示例
【发布时间】:2022-02-11 09:34:24
【问题描述】:

我有一个使用 objectbox 存储数据的颤振应用程序,但我需要更改一个具有

// old:
int year;
// new:
double year;

ObjectBox 不支持将现有属性数据迁移到新的 类型。您必须自己处理这个问题,例如通过保持 旧属性并添加一些迁移逻辑。

在对象框页面上,他们说可以通过迁移逻辑实现。 数据已经用 int 存储了,我需要将此数据迁移到 double 但我没有成功。有人可以帮我举个例子。谢谢

【问题讨论】:

    标签: flutter flutter-objectbox


    【解决方案1】:

    因此,您可能已经知道,在保持旧数据完整的同时进行类型迁移目前是不可能的(据我所知)。所以你必须解决这个问题,我能想到的一种复杂的方法是用你的新类型创建一个字段,然后在应用程序启动时,遍历所有当前保存并使用 year.toDouble() 并移动任何当前年份中的值到 yearDouble。 (对不起电话所以没有真正的代码)

    然后当您需要再次提取该值时,检查原始年份值,如果它为空,则从新 yearDouble 中读取年份值

    您也可以一起忽略原始迭代,并在使用该值时进行检查。所以修改你当前的方法,检查yearDouble是否为空,然后读取原来的year.toDouble(),然后将值同时添加到yearDouble属性中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多