25 private static final String DB_NAME =
"history.db";
39 instance = Room.databaseBuilder(context.getApplicationContext(),
41 .addMigrations(MIGRATION_1_2, MIGRATION_2_3)
42 .fallbackToDestructiveMigration()
51 private static final Migration MIGRATION_2_3 =
new Migration(2, 3) {
52 @Override
public void migrate(@NonNull SupportSQLiteDatabase db)
54 db.execSQL(
"CREATE TABLE IF NOT EXISTS `quick_connect_history_new` ("
55 +
"`item` TEXT NOT NULL DEFAULT '', "
56 +
"`timestamp` INTEGER NOT NULL DEFAULT 0, "
57 +
"PRIMARY KEY(`item`))");
58 db.execSQL(
"INSERT INTO `quick_connect_history_new` (item, timestamp) "
59 +
"SELECT item, timestamp FROM `quick_connect_history`");
60 db.execSQL(
"DROP TABLE `quick_connect_history`");
61 db.execSQL(
"ALTER TABLE `quick_connect_history_new` RENAME TO `quick_connect_history`");
67 private static final Migration MIGRATION_1_2 =
new Migration(1, 2) {
68 @Override
public void migrate(@NonNull SupportSQLiteDatabase db)
70 db.execSQL(
"CREATE TABLE IF NOT EXISTS `quick_connect_history_new` ("
71 +
"`item` TEXT NOT NULL, "
72 +
"`timestamp` INTEGER NOT NULL DEFAULT 0, "
73 +
"PRIMARY KEY(`item`))");
74 db.execSQL(
"INSERT INTO `quick_connect_history_new` (item, timestamp) "
75 +
"SELECT item, IFNULL(timestamp, 0) FROM `quick_connect_history`");
76 db.execSQL(
"DROP TABLE `quick_connect_history`");
77 db.execSQL(
"ALTER TABLE `quick_connect_history_new` RENAME TO `quick_connect_history`");