注意事項:
資料庫建表語句要跟定義的資料類字段屬性是否為空要一緻。
一、定義資料類
1.1、資料類屬性可以為空時如下所示,類型名稱後面帶符号“?”:
val prevKey: Int?
1.2、資料類屬性不可以為空時如下所示:
val tId: String
二、建立資料庫表
2.1、字段資料可以為空
`prevKey` INTEGER
2.2、段屬性不可以為空
`tId` TEXT NOT NULL
三、代碼塊示例
3.1、定義完整資料庫的資料類如下所示:
@Entity(tableName = "remote_keys")
data class RemoteKeys(
@PrimaryKey val tId: String,
val prevKey: Int?,
val nextKey: Int?
)
3.2、定義完整資料庫更新,建立某張表的方法如下所示:
val MIGRATION_3_4 = object : Migration(3, 4) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL(
"CREATE TABLE `remote_keys` (`tId` TEXT NOT NULL, `prevKey` INTEGER, `nextKey` INTEGER, PRIMARY KEY(`tId`))"
)
}
}
四、其他
資料庫更新時,對表添加屬性字段同理,也需要注意字段是否可以為空的處理。