I am updating my app with new library releases and I got an issue with my database. The released app currently using Room version 2.2.6 with FTS4. Currently having LONG for rowid
. The app runs smooth and no problem. But I want to use Room version 2.3.0 and according to the docs:
An FTS entity table always has a column named rowid that is the equivalent of an INTEGER PRIMARY KEY index. Therefore, an FTS entity can only have a single field annotated with PrimaryKey, it must be named rowid and must be of INTEGER affinity. The field can be optionally omitted in the class but can still be used in queries.
I should use INT not LONG.
@Entity(tableName = "visit")
@Fts4
public class Visit {
@PrimaryKey
@ColumnInfo(name = "rowid")
private Long identification; //Change to int
}
Is there a way to update the property without ruining the data of my users?