From 44249ff1c94b2639cf2f915d903165231e758a21 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Sun, 6 Apr 2025 04:24:07 -0500 Subject: [PATCH] Replace auto migration Room does a foreign key check and it was causing crashes on someones device --- app/src/main/java/org/tasks/db/Migrations.kt | 9 +++++++++ data/src/commonMain/kotlin/org/tasks/data/db/Database.kt | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/tasks/db/Migrations.kt b/app/src/main/java/org/tasks/db/Migrations.kt index 4499d3512..e417b9b9c 100644 --- a/app/src/main/java/org/tasks/db/Migrations.kt +++ b/app/src/main/java/org/tasks/db/Migrations.kt @@ -592,6 +592,14 @@ object Migrations { } } + private val MIGRATION_89_90 = object : Migration(89, 90) { + override fun migrate(connection: SQLiteConnection) { + connection.execSQL("CREATE INDEX IF NOT EXISTS `index_caldav_tasks_cd_remote_id` ON `caldav_tasks` (`cd_remote_id`)") + connection.execSQL("CREATE INDEX IF NOT EXISTS `index_caldav_tasks_cd_calendar_cd_remote_id` ON `caldav_tasks` (`cd_calendar`, `cd_remote_id`)") + connection.execSQL("CREATE INDEX IF NOT EXISTS `index_caldav_tasks_cd_calendar_cd_remote_parent` ON `caldav_tasks` (`cd_calendar`, `cd_remote_parent`)") + } + } + private fun migration_87_88(context: Context) = object : Migration(87, 88) { override fun migrate(connection: SQLiteConnection) { val prefs = Preferences(context) @@ -675,6 +683,7 @@ object Migrations { MIGRATION_85_86, MIGRATION_86_87, migration_87_88(context), + MIGRATION_89_90, ) private fun noop(from: Int, to: Int): Migration = object : Migration(from, to) { diff --git a/data/src/commonMain/kotlin/org/tasks/data/db/Database.kt b/data/src/commonMain/kotlin/org/tasks/data/db/Database.kt index 8578f4990..4e968fee2 100644 --- a/data/src/commonMain/kotlin/org/tasks/data/db/Database.kt +++ b/data/src/commonMain/kotlin/org/tasks/data/db/Database.kt @@ -61,7 +61,6 @@ import org.tasks.data.entity.UserActivity autoMigrations = [ AutoMigration(from = 83, to = 84, spec = AutoMigrate83to84::class), AutoMigration(from = 88, to = 89, spec = AutoMigrate88to89::class), - AutoMigration(from = 89, to = 90), ], version = 90 )