Meu DataBase
@Database(entities = {Aluno.class}, version = 2, exportSchema = false)
public abstract class AgendaDatabase extends RoomDatabase {
private static final String NOME_BANCO_DADOS = "agenda.db";
public abstract AlunoDAO getRoomAlunoDAO();
public static AgendaDatabase getInstance(Context context) {
return Room.databaseBuilder(context, AgendaDatabase.class, NOME_BANCO_DADOS)
.allowMainThreadQueries()
.addMigrations(new Migration(1,2) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase supportSQLiteDatabase) {
supportSQLiteDatabase.execSQL("ALTER TABLE aluno ADD COLUMN sobrenome TEXT");
}
})
.build();
}
}
Minha entidade
@Entity
public class Aluno implements Serializable {
@PrimaryKey(autoGenerate = true)
private int id = 0;
private String sobremone;
private String nome;
private String telefone;
private String email;
@Ignore
public Aluno(String nome,String sobremone, String telefone, String email) {
this.nome = nome;
this.sobremone = sobremone;
this.telefone = telefone;
this.email = email;
}
public Aluno() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getSobremone() {
return sobremone;
}
public void setSobremone(String sobremone) {
this.sobremone = sobremone;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
@NonNull
@Override
public String toString() {
return nome;
}
public boolean temIdValido() {
return id>0;
}
}
Ao tentar implementar a migration 1 para 2 tenho o erro:
FATAL EXCEPTION: main Process: xavier.f, PID: 15667 java.lang.RuntimeException: Unable to resume activity {xavier.f/xavier.f.ui.activity.ListaAlunosActivity}: java.lang.IllegalStateException: Migration didn't properly handle: Aluno(xavier.f.model.Aluno). Expected: TableInfo{name='Aluno', columns={nome=Column{name='nome', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}, telefone=Column{name='telefone', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}, id=Column{name='id', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=1, defaultValue='undefined'}, email=Column{name='email', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}, sobremone=Column{name='sobremone', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}}, foreignKeys=[], indices=[]} Found: TableInfo{name='Aluno', columns={id=Column{name='id', type='INTEGER', affinity='3', notNull=true, primaryKeyPosition=1, defaultValue='undefined'}, nome=Column{name='nome', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}, telefone=Column{name='telefone', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}, email=Column{name='email', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}, sobrenome=Column{name='sobrenome', type='TEXT', affinity='2', notNull=false, primaryKeyPosition=0, defaultValue='undefined'}}, foreignKeys=[], indices=[]}
Alguma idéia de onde errei?