From 4e6f9069030313bec237de9bb6e846564580485e Mon Sep 17 00:00:00 2001 From: tarsin Date: Fri, 26 May 2023 16:27:22 +0800 Subject: [PATCH] Convert ThumbKeyMigration to AutoMigrationSpec --- app/src/main/java/com/hippo/ehviewer/EhDB.kt | 2 -- .../java/com/hippo/ehviewer/dao/EhDatabase.kt | 22 ++++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/EhDB.kt b/app/src/main/java/com/hippo/ehviewer/EhDB.kt index 9510fb5bc..8a3209d09 100644 --- a/app/src/main/java/com/hippo/ehviewer/EhDB.kt +++ b/app/src/main/java/com/hippo/ehviewer/EhDB.kt @@ -27,7 +27,6 @@ import com.hippo.ehviewer.dao.BasicDao import com.hippo.ehviewer.dao.DownloadDirname import com.hippo.ehviewer.dao.DownloadInfo import com.hippo.ehviewer.dao.DownloadLabel -import com.hippo.ehviewer.dao.EHDB_MIGRATION_4_5 import com.hippo.ehviewer.dao.EhDatabase import com.hippo.ehviewer.dao.Filter import com.hippo.ehviewer.dao.HistoryInfo @@ -400,7 +399,6 @@ object EhDB { runCatching { val oldDB = databaseBuilder(context, EhDatabase::class.java, "tmp.db") .createFromInputStream { context.contentResolver.openInputStream(uri) } - .addMigrations(EHDB_MIGRATION_4_5) .build() // Download label diff --git a/app/src/main/java/com/hippo/ehviewer/dao/EhDatabase.kt b/app/src/main/java/com/hippo/ehviewer/dao/EhDatabase.kt index fa0f13209..576d0bb55 100644 --- a/app/src/main/java/com/hippo/ehviewer/dao/EhDatabase.kt +++ b/app/src/main/java/com/hippo/ehviewer/dao/EhDatabase.kt @@ -7,11 +7,13 @@ import androidx.room.DeleteTable import androidx.room.Room import androidx.room.RoomDatabase import androidx.room.migration.AutoMigrationSpec -import androidx.room.migration.Migration import androidx.sqlite.db.SupportSQLiteDatabase -val EHDB_MIGRATION_4_5 = object : Migration(4, 5) { - override fun migrate(db: SupportSQLiteDatabase) { +@DeleteTable(tableName = "BOOKMARKS") +class DropBookMarkDao : AutoMigrationSpec + +class ThumbKeyMigration : AutoMigrationSpec { + override fun onPostMigrate(db: SupportSQLiteDatabase) { val needMigrationTables = arrayOf( "DOWNLOADS", "HISTORY", @@ -30,14 +32,16 @@ val EHDB_MIGRATION_4_5 = object : Migration(4, 5) { } } -@DeleteTable(tableName = "BOOKMARKS") -class A : AutoMigrationSpec - @Database( entities = [DownloadInfo::class, DownloadLabel::class, DownloadDirname::class, Filter::class, HistoryInfo::class, LocalFavoriteInfo::class, QuickSearch::class], version = 7, exportSchema = true, autoMigrations = [ + AutoMigration( + from = 4, + to = 5, + spec = ThumbKeyMigration::class, + ), AutoMigration( from = 5, to = 6, @@ -45,7 +49,7 @@ class A : AutoMigrationSpec AutoMigration( from = 6, to = 7, - spec = A::class, + spec = DropBookMarkDao::class, ), ], ) @@ -76,9 +80,7 @@ abstract class CookiesDatabase : RoomDatabase() { fun buildMainDB(context: Context): EhDatabase { // TODO: Remove allowMainThreadQueries - return Room.databaseBuilder(context, EhDatabase::class.java, "eh.db").allowMainThreadQueries() - .addMigrations(EHDB_MIGRATION_4_5) - .build() + return Room.databaseBuilder(context, EhDatabase::class.java, "eh.db").allowMainThreadQueries().build() } fun buildCookiesDB(context: Context): CookiesDatabase {