Flutter 在更新时删除 Hive 数据库

Posted

技术标签:

【中文标题】Flutter 在更新时删除 Hive 数据库【英文标题】:Flutter delete Hive Database on Update 【发布时间】:2021-03-18 04:08:06 【问题描述】:

我有一个 Flutter 应用,我正在使用 Hive 存储数据。

我删除了一些以前使用的适配器。这导致了一个错误,我必须删除旧数据库。

现在,如果我推出更新,我如何确保在用户更新应用时删除旧的 Hive 数据库,以免造成任何问题。

【问题讨论】:

【参考方案1】:

运行数据库migration,而不是删除。

Hive.box("myBox", version: 5, migrator: (oldVersion, newVersion, box) async 
  await box.delete("unusedKey");
  await box.put("newKey", 7);
);

如果你还是想删除它,

阅读应用版本,package_info 可能会派上用场。 如果此应用版本/内部版本是running for the first time,请在安装/更新后删除旧数据库。

【讨论】:

【参考方案2】:

您可以使用box.clear(),这确实是您可能期待我最好的朋友的答案。

【讨论】:

以上是关于Flutter 在更新时删除 Hive 数据库的主要内容,如果未能解决你的问题,请参考以下文章

Flutter - 使用新的应用程序版本删除或删除 Hive

如何在 Flutter/Dart 中使用 Hive 框和索引以简单的方式将数据动态加载到 DataTable?

为啥当我在 Flutter for Web 中更新实时数据库中的某个字段时我的数据被删除

Flutter HiveDB 从数据库中删除

如何制作一个自动更新 Hive 的表

hive执行更新和删除操作