Flutter удаляет базу данных Hive при обновлении

У меня есть приложение Flutter, и я использую Hive для хранения данных.

Я удалил некоторые адаптеры, которые использовались ранее. Это вызвало ошибку, и мне пришлось удалить старую базу данных.

Теперь, если я разверну обновление, как мне убедиться, что старая база данных Hive удаляется, когда пользователь обновляет приложение, чтобы не возникало проблем.

3 ответа

Вместо удаления запустите миграцию базы данных .

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

Если вы все равно хотите удалить его,

  • Читать версию приложения, package_info может пригодиться для этого.
  • Удалите старую базу данных, если эта версия / сборка приложения запускается впервые после установки / обновления.

Ты можешь использовать box.clear() действительно, это ответ, которого вы, возможно, ожидаете от моего лучшего друга.

Hive.deleteFromDisk() может просто стереть его.

Другие вопросы по тегам