实体类Word:
@Entity(tableName = "word_table")
data class Word(
@ColumnInfo(name = "word")
val word: String,
@Embedded
val ext: WordExt,
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "id")
var id: Long = 0
)
其中ext是我新增的一个字段:
data class WordExt(
val length: Int,
val size: Int
)
在升级数据库的时候,要这样升级:
private val MIGRATION_1_2 = object : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE word_table ADD COLUMN length INTEGER NOT NULL DEFAULT 0 ")
database.execSQL("ALTER TABLE word_table ADD COLUMN size INTEGER NOT NULL DEFAULT 0 ")
}
}
很简单,就是将WordExt中的属性length和size直接新增到表word_table中。