我在我的房間數據庫添加新的實體FeedItem和寫作遷移它。不是原始類型間的數據庫遷移
問題:我有我的FeedItem類,這是不是原始類型日期類型。在這種情況下寫入遷移的正確方法是什麼?
@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