如何迁移以前未设置为自动生成的主键字段? 来自
@PrimaryKey
private int id;
收件人
@PrimaryKey(autoGenerate=true)
private int id;
由于Sqlite不支持更改列,所以我唯一的猜测是按原样迁移整个表并重置约束。
在开发过程中,我是否甚至必须迁移数据库,还是可以重建它,因为我的数据库会快速变化,所以我不必每次都迁移?
答案 0 :(得分:0)
我建议您更改方法:添加唯一标识符(UID)作为识别记录的替代方法。
您可以在POJO上定义带有注释Entity
的UID。
@Entity(indices={@Index(value="uid", unique=true)})
publi class Pojo {
..
public String uid;
..
}
在数据库中插入记录时,可以使用以下命令定义uid字段:
String uuid = UUID.randomUUID().toString();
您可以使用UUID字段以绝对方式标识您的记录。当您将一个版本迁移到另一个版本时,您无需使用旧的ID,就可以始终使用UID。