Как сбросить базу данных Hive во флаттере - PullRequest
1 голос
/ 26 апреля 2020

Я играю с базой данных Hive для Flutter, и когда я пытаюсь сохранить объект, документация говорит о Адаптерах :

Как вы можете видеть Каждое поле имеет уникальный номер (уникальный для каждого класса). Эти номера полей используются для идентификации полей в двоичном формате Hive, и их не следует изменять после использования вашего класса.

Итак, после некоторого рефакторинга мне нужно изменить классы и некоторые атрибуты, в том числе его нумерация. После этого очевидно, что база данных дает мне ошибку (раньше она работала отлично), и учитывая, что все данные из базы данных являются фиктивными данными для целей тестирования, я хотел бы зарезервировать и перезапустить новую форму базы данных 0. Я попробовал несколько вещей , как box.clear() или Hive.deleteFromDisk() после открытия полей, но я все еще получаю сообщение об ошибке, что тип атрибута адаптера не совпадает с другим в обычном классе (ссылка на него перед рефакторингом и изменением индекса).

Как я могу успешно удалить всю информацию и очистить базу данных, чтобы начать с нуля при новой установке ??

Большое спасибо!

1 Ответ

0 голосов
/ 26 апреля 2020

Хорошо, я нашел ответ, и для людей, которые привыкли программировать мобильные приложения, было бы ясно, как день, но для любителей, таких как я, нам все еще нужно учиться трудному пути:

Путь запустить приложение как новую установку в эмуляторе - это удалить приложение из эмулятора и установить его заново.

Конечно, если новые изменения в индексном номере в адаптере, мне нужно будет воссоздать эти шаги:

- удалить созданные адаптеры

- запустить flutter clean

-Удалите приложение из эмулятора

-Создайте новые адаптеры с помощью flutter packages pub run build_runner build

-Запустите приложение снова

Надеюсь, кому-то полезно в будущем:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...