我有一个Room数据库表,其中包含以下字段。
itemType: Int
由于无法控制的更改,我需要将其另存为字符串。 即:
itemType: String
所以我添加了一个数据库迁移,如下所示:(这是我的实际表的抽象简化版本)
database.execSQL("CREATE TABLE IF NOT EXISTS User_Backup (id TEXT NOT NULL,name TEXT NOT NULL,itemType TEXT NOT NULL,PRIMARY KEY(id))")
database.execSQL("INSERT INTO User_Backup(id,name) SELECT id,name FROM UserTable")
database.execSQL("DROP TABLE UserTable")
database.execSQL("ALTER TABLE User_Backup RENAME TO UserTable")
这很好地改变了表,并将类型从int更改为String并保留了所有其他数据。唯一的问题是我的itemType字段留为空白。
我不能照原样复制它,因为新数据应该映射到新结构。
例如:
1-> admin
2-> super user
3-> guest
等...
如何将这部分添加到迁移中?