@Entity裡面有個參數是 LatLng 類別,一時間在 room 的 MIGRATION 的類型不知道怎麼填
@TypeConverters(RolesConverter::class)
data class BikePositionRoom(
@PrimaryKey
val id: String = UUID.randomUUID().toString(),
var city: String,
var positionName: String,
var latLng: LatLng,
var available: Int? = null,
var total: Int? = null
)
最後回頭看一下 TypeConverter 有寫到轉換的類型
@TypeConverter
fun stringToLatlng(value: String): LatLng {
return gson.fromJson(value, LatLng::class.java)
}
@TypeConverter
fun latlngToString(latLng: LatLng): String {
return gson.toJson(latLng)
}
於是推理最後存到 db 的應該是 string 型態,所以最後
val MIGRATION_1_2: Migration = object : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL(
"CREATE TABLE IF NOT EXISTS BikePositionRoom(id TEXT NOT NULL, city TEXT NOT NULL, positionName TEXT NOT NULL, latLng TEXT NOT NULL,available INTEGER, total INTEGER, PRIMARY KEY(id))"
)
}
}
順利 Migration
可喜可賀!
可喜可賀!
沒有留言:
張貼留言