remove unneeded instance id from db cache (#1035)
* remove unneeded instance id from db cache * fix TimelineDAOTest * fix TimelineRepositoryTest
This commit is contained in:
parent
e371fa0e24
commit
6c93555ad0
8 changed files with 739 additions and 37 deletions
|
|
@ -30,7 +30,7 @@ import androidx.annotation.NonNull;
|
|||
|
||||
@Database(entities = {TootEntity.class, AccountEntity.class, InstanceEntity.class, TimelineStatusEntity.class,
|
||||
TimelineAccountEntity.class, ConversationEntity.class
|
||||
}, version = 12)
|
||||
}, version = 13)
|
||||
public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
public abstract TootDao tootDao();
|
||||
|
|
@ -207,4 +207,61 @@ public abstract class AppDatabase extends RoomDatabase {
|
|||
}
|
||||
};
|
||||
|
||||
public static final Migration MIGRATION_12_13 = new Migration(12, 13) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
|
||||
database.execSQL("DROP TABLE IF EXISTS `TimelineAccountEntity`");
|
||||
database.execSQL("DROP TABLE IF EXISTS `TimelineStatusEntity`");
|
||||
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS `TimelineAccountEntity` (" +
|
||||
"`serverId` TEXT NOT NULL, " +
|
||||
"`timelineUserId` INTEGER NOT NULL, " +
|
||||
"`localUsername` TEXT NOT NULL, " +
|
||||
"`username` TEXT NOT NULL, " +
|
||||
"`displayName` TEXT NOT NULL, " +
|
||||
"`url` TEXT NOT NULL, " +
|
||||
"`avatar` TEXT NOT NULL, " +
|
||||
"`emojis` TEXT NOT NULL," +
|
||||
"PRIMARY KEY(`serverId`, `timelineUserId`))");
|
||||
|
||||
database.execSQL("CREATE TABLE IF NOT EXISTS `TimelineStatusEntity` (" +
|
||||
"`serverId` TEXT NOT NULL, " +
|
||||
"`url` TEXT, " +
|
||||
"`timelineUserId` INTEGER NOT NULL, " +
|
||||
"`authorServerId` TEXT," +
|
||||
"`inReplyToId` TEXT, " +
|
||||
"`inReplyToAccountId` TEXT, " +
|
||||
"`content` TEXT, " +
|
||||
"`createdAt` INTEGER NOT NULL, " +
|
||||
"`emojis` TEXT, " +
|
||||
"`reblogsCount` INTEGER NOT NULL, " +
|
||||
"`favouritesCount` INTEGER NOT NULL, " +
|
||||
"`reblogged` INTEGER NOT NULL, " +
|
||||
"`favourited` INTEGER NOT NULL, " +
|
||||
"`sensitive` INTEGER NOT NULL, " +
|
||||
"`spoilerText` TEXT, " +
|
||||
"`visibility` INTEGER, " +
|
||||
"`attachments` TEXT, " +
|
||||
"`mentions` TEXT, " +
|
||||
"`application` TEXT, " +
|
||||
"`reblogServerId` TEXT, " +
|
||||
"`reblogAccountId` TEXT," +
|
||||
" PRIMARY KEY(`serverId`, `timelineUserId`)," +
|
||||
" FOREIGN KEY(`authorServerId`, `timelineUserId`) REFERENCES `TimelineAccountEntity`(`serverId`, `timelineUserId`) " +
|
||||
"ON UPDATE NO ACTION ON DELETE NO ACTION )");
|
||||
database.execSQL("CREATE INDEX IF NOT EXISTS" +
|
||||
"`index_TimelineStatusEntity_authorServerId_timelineUserId` " +
|
||||
"ON `TimelineStatusEntity` (`authorServerId`, `timelineUserId`)");
|
||||
}
|
||||
};
|
||||
|
||||
public static final Migration MIGRATION_10_13 = new Migration(10, 13) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
MIGRATION_11_12.migrate(database);
|
||||
MIGRATION_12_13.migrate(database);
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue