【问题标题】:How to reset a Hive Database in Flutter如何在 Flutter 中重置 Hive 数据库
【发布时间】:2020-04-26 11:39:14
【问题描述】:

我正在使用 Flutter 的 Hive 数据库,当我尝试保存对象时,文档清楚地说明了 Adapters

如您所见,每个字段都有一个唯一编号(每个类别唯一)。这些字段编号用于标识 Hive 二进制格式中的字段,一旦您的类在使用中就不应更改。

所以,经过一些重构,我需要更改类和一些属性,包括他的编号。这样做之后,显然数据库给了我错误(之前工作得很好),并且鉴于数据库中的所有数据都是用于测试目的的虚拟数据,我想重新启动一个新的数据库表单 0。我确实尝试了几件事,如box.clear()Hive.deleteFromDisk() 打开盒子后,但我仍然收到关于适配器属性类型与普通类中的另一个不匹配的错误(在重构和更改索引之前引用)。

如何成功删除所有信息并清理数据库以从零开始作为新安装?

非常感谢!

【问题讨论】:

  • 基本上,发生在这些家伙身上的事情正是发生在我身上的事情:github.com/hivedb/hive/issues/181 但是我当然是在谈论当您更改数字时的解决方案,重置整个数据库而不是返回上一个号码

标签: flutter dart


【解决方案1】:

好的,我找到了答案:

在模拟器中作为新安装启动应用程序的方法是从模拟器中卸载应用程序并重新安装。

当然,如果Adapter中的索引号有新的变化,我就需要重新创建这些步骤:

-删除创建的适配器

-运行flutter clean

-从模拟器中删除应用

-使用flutter packages pub run build_runner build 创建新的适配器

-再次运行应用程序

希望将来对某人有用:)

【讨论】:

    【解决方案2】:

    好的,我发现我遇到了同样的问题,我通过以下方式解决了它:

    1. 首先,在项目的父目录下,删除hive首次启动应用时生成的.hive和.lock文件。

    2. 回来修改它是你想要的模型并启动以下命令:

    flutter packages pub run build_runner build
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-18
      • 2021-09-26
      • 2021-07-14
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      相关资源
      最近更新 更多