From d3e9303d6df456263efabe80486f5694ee3e645e Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Sat, 30 Sep 2023 09:15:37 -0400 Subject: [PATCH] Fix incorrect data migration. --- .../database/helpers/SignalDatabaseMigrations.kt | 10 +++++++--- ...olumn.kt => V209_ClearRecipientPniFromAciColumn.kt} | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) rename app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/{V208_ClearRecipientPniFromAciColumn.kt => V209_ClearRecipientPniFromAciColumn.kt} (64%) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt index bb069c68f3..060dc086c5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/SignalDatabaseMigrations.kt @@ -63,7 +63,7 @@ import org.thoughtcrime.securesms.database.helpers.migration.V204_GroupForeignKe import org.thoughtcrime.securesms.database.helpers.migration.V205_DropPushTable import org.thoughtcrime.securesms.database.helpers.migration.V206_AddConversationCountIndex import org.thoughtcrime.securesms.database.helpers.migration.V207_AddChunkSizeColumn -import org.thoughtcrime.securesms.database.helpers.migration.V208_ClearRecipientPniFromAciColumn +import org.thoughtcrime.securesms.database.helpers.migration.V209_ClearRecipientPniFromAciColumn /** * Contains all of the database migrations for [SignalDatabase]. Broken into a separate file for cleanliness. @@ -72,7 +72,7 @@ object SignalDatabaseMigrations { val TAG: String = Log.tag(SignalDatabaseMigrations.javaClass) - const val DATABASE_VERSION = 208 + const val DATABASE_VERSION = 209 @JvmStatic fun migrate(context: Application, db: SQLiteDatabase, oldVersion: Int, newVersion: Int) { @@ -313,7 +313,11 @@ object SignalDatabaseMigrations { } if (oldVersion < 208) { - V208_ClearRecipientPniFromAciColumn.migrate(context, db, oldVersion, newVersion) + // Bad migration that only manipulated data and did not change schema, replaced by 209 + } + + if (oldVersion < 209) { + V209_ClearRecipientPniFromAciColumn.migrate(context, db, oldVersion, newVersion) } } diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V208_ClearRecipientPniFromAciColumn.kt b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V209_ClearRecipientPniFromAciColumn.kt similarity index 64% rename from app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V208_ClearRecipientPniFromAciColumn.kt rename to app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V209_ClearRecipientPniFromAciColumn.kt index 5dcadb75e7..622a714900 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V208_ClearRecipientPniFromAciColumn.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/helpers/migration/V209_ClearRecipientPniFromAciColumn.kt @@ -9,11 +9,11 @@ import android.app.Application import net.zetetic.database.sqlcipher.SQLiteDatabase /** - * PNIs were incorrectly being set to ACI column, remove them if present. + * PNIs were incorrectly being set to ACI column, clear them if present. */ @Suppress("ClassName") -object V208_ClearRecipientPniFromAciColumn : SignalDatabaseMigration { +object V209_ClearRecipientPniFromAciColumn : SignalDatabaseMigration { override fun migrate(context: Application, db: SQLiteDatabase, oldVersion: Int, newVersion: Int) { - db.execSQL("DELETE FROM recipient WHERE aci LIKE 'PNI:%'") + db.execSQL("UPDATE recipient SET aci = NULL WHERE aci LIKE 'PNI:%'") } }