Bom dia a todos
Eu tava fazendo a migration da 3 para a 4, mas um erro me aconteceu na hora de compilar:
AutoMigration Failure: Please declare an interface extending 'AutoMigrationSpec',
and annotate with the @RenameColumn or @DeleteColumn annotation to specify the
change to be performed:
1) RENAME:
@RenameColumn.Entries(
@RenameColumn(
tableName = "Usuario",
fromColumnName = "nomeDoUsuario",
toColumnName = <NEW_COLUMN_NAME>
)
)
2) DELETE:
@DeleteColumn.Entries(
@DeleteColumn(
tableName = "Usuario",
columnName = "nomeDoUsuario"
)
)
e: Error occurred in KSP, check log for detail
Antes eu tinha escrito errado, mas depois eu corrigi, mas ainda apresenta esse mesmo problema:
//Com a migration corrigida:
@RenameColumn(
tableName = "Usuario",
fromColumnName = "nomeDoUsuario",
toColumnName = "idUsuario"
)
class Migration3to4 : AutoMigrationSpec
E o código do resto da Database:
@Database(
entities = [Contato::class, Usuario::class],
version = 4,
exportSchema = true,
autoMigrations = [AutoMigration(2, 3),
AutoMigration(3, 4, Migration3to4::class)]
)
@TypeConverters(Converters::class)
abstract class HelloAppDatabase : RoomDatabase() {
abstract fun contatoDao(): ContatoDao
abstract fun usuarioDao(): UsuarioDao
}
E a classe da entity:
@Entity
data class Usuario(
@PrimaryKey
val idUsuario: String = "",
val senha: String = "",
@ColumnInfo(defaultValue = "")
val nome: String = "",
)