我没有找到要搜索的答案,所以我正在发送此问题。
我正在使用Room for Android。
我有一个带有Int列的Entity,我需要将其更改为Double,但我不知道该怎么做。
有人知道怎么做吗?
我的问题可能很愚蠢,但在stackoverflow /任何Google搜索中都找不到任何答案。
答案 0 :(得分:0)
您需要使用新架构创建新表。 将数据从旧表复制到新表。 放下旧桌子。 将新表重命名为旧表的名称。
您在这里有关于此的好文章: https://medium.com/androiddevelopers/understanding-migrations-with-room-f01e04b07929
答案 1 :(得分:0)
如在here上有关sqlite的文档中所述,sqlite不支持更新列类型。
SQLite支持ALTER TABLE的有限子集。更改表 SQLite中的命令允许用户重命名表或添加新表 现有表的列。无法重命名列, 删除列,或在表中添加或删除约束。
正如 Sebastian M 所指出的,您将需要创建一个添加了新列的新表,即将数据从旧表复制到新表。放下旧桌子。将新表重命名为旧表的名称。