У меня есть таблица базы данных 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
и т.д ...
как добавить эту часть в миграцию?