Ao se deparar com esta mensagem pela primeira vez, provavelmente você estará trabalhando em uma versão não lançada do banco de dados. Se for esse o caso, provavelmente você não deve incrementar a versão do banco de dados . Simplesmente limpar os dados do aplicativo fará com que você passe na exceção.
Se você não incrementar o banco de dados (recomendado):
Você deve limpar os dados do aplicativo do aplicativo das configurações do Android. Como alternativa, você pode desinstalar a versão anterior do aplicativo e, em seguida, instalar a nova versão para obter a exceção. Esta última abordagem não funciona sob certas condições (como quando permitir backup está ativado)
Já que limpar os dados do aplicativo sempre funciona, sempre faço esse caminho.
Se você incrementar a versão do banco de dados:
Você precisará escrever o código de migração do banco de dados para levar em conta quaisquer alterações no esquema do banco de dados. Veja aqui informações sobre migração.
A alternativa para escrever o código de migração do banco de dados é chamar fallbackToDestructiveMigration
o criador de banco de dados Room. Provavelmente não é uma boa ideia. Esquecer de remover esta chamada e depois esquecer de atualizar o banco de dados resultará em perda de dados.
Database database = Room.databaseBuilder(context, Database.class, DATABASE_NAME)
.fallbackToDestructiveMigration()
.build();
Novamente, nem incrementar a versão do banco de dados, nem volta para a migração destrutiva caindo é necessário se o esquema do banco anterior não é viver em estado selvagem .