Когда вы впервые столкнетесь с этим сообщением, скорее всего, вы работаете с невыпущенной версией базы данных. В таком случае, скорее всего, вам не следует увеличивать версию базы данных . Простая очистка данных приложения переместит вас в исключение.
Если вы не увеличиваете базу данных (рекомендуется):
Вам следует удалить данные приложения в настройках Android. В качестве альтернативы вы можете удалить предыдущую версию приложения, а затем установить новую версию, чтобы передать исключение. Последний подход не работает при определенных условиях (например, когда разрешено резервное копирование).
Поскольку очистка данных приложения всегда работает, я всегда выбираю этот путь.
Если вы увеличиваете версию базы данных:
Вам нужно будет написать код миграции базы данных, чтобы учесть любые изменения в схеме базы данных. См. Здесь информацию о миграции.
Альтернативой написанию кода миграции базы данных является вызов fallbackToDestructiveMigration
построителя базы данных Room. Вероятно, это плохая идея. Если вы забудете удалить этот вызов, а затем забудете обновить базу данных, это приведет к потере данных.
// Using this fallback is almost certainly a bad idea
Database database = Room.databaseBuilder(context, Database.class, DATABASE_NAME)
.fallbackToDestructiveMigration()
.build();
Опять же, ни увеличение версии базы данных, ни возврат к деструктивной миграции не требуется, если предыдущая схема базы данных еще не используется .