Android room 升级问题
1:增加字段
e:增加了一个字符串类型的字段
database.execSQL("ALTER TABLE my_tab"
+ " ADD COLUMN photoUri TEXT");
e:增加int类型字段
database.execSQL("ALTER TABLE CallLog "
+ " ADD COLUMN e164 INTEGER");
e:如果你的表,保存的数据是List<String>,其实他保存就是string来,所以,增加list的时候,是增加string
database.execSQL("ALTER TABLE CallLog "
+ " ADD COLUMN list TEXT");
ps
string: 类型对应TEXT
int:对应INTEGER
当你的表更换了索引你需要做的就是:
删除旧索引
//tab 表明,索引字段phones
database.execSQL("DROP INDEX IF EXISTS `index_tab_phones`");
增加新的索引
database.execSQL("CREATE UNIQUE INDEX IF NOT EXISTS index_tab_default_number ON tab(default_number)");
如果需要更换字段的类型,
1:你需要创建临时表
2:转移数据到临时表
3:删除前面的表
4:重命名临时表为目标表