방 데이터베이스에 새 항목 인 FeedItem을 추가하고 마이그레이션을 작성합니다.방 데이터베이스 이전에 원시 유형이 없음
문제점 : FeedItem 클래스에 Date 유형이 있는데, 프리미티브 유형이 아닙니다. 이 경우 마이그레이션을 작성하는 올바른 방법은 무엇입니까?
@Entity(tableName = "FeedItem")
public class FeedItem implements Item, Votable {
private int id;
@PrimaryKey(autoGenerate = true)
@ColumnInfo(name = "feedItemRowIndex")
private int rowIndex;
private int toId;
private int fromId;
private Date date;
...
현재 마이 그 레이션은 다음과 같습니다. 날짜 유형에 대한
private static final Migration MIGRATION_1_2 = new Migration(1, 2) {
@Override
public void migrate(@NonNull SupportSQLiteDatabase database) {
database.execSQL("CREATE TABLE FeedItem (feedItemId INTEGER, " +
"feedItemRowIndex INTEGER, " +
"feedVotes INTEGER" +
"feedVote INTEGER" +
"toId INTEGER" +
"fromId INTEGER" +
"date Date" + // i need to change this row
...
"PRIMARY KEY (feedItemRowIndex))"
여기 계산기
public class DateConverter {
@TypeConverter
public static Date toDate(Long timestamp) {
return timestamp == null ? null : new Date(timestamp);
}
@TypeConverter
public static Long toTimestamp(Date date) {
return date == null ? null : date.getTime();
}
}
감사합니다!
길면 INTEGER – EpicPandaForce