Bug 1387053 - Make sure we don't do DB migration multiple times. r?rnewman
MozReview-Commit-ID: I799FUjIG4M
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/android/ClientsDatabase.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/sync/repositories/android/ClientsDatabase.java
@@ -102,26 +102,26 @@ public class ClientsDatabase extends Cac
if (oldVersion < 2) {
// For now we'll just drop and recreate the tables.
db.execSQL("DROP TABLE IF EXISTS " + TBL_CLIENTS);
db.execSQL("DROP TABLE IF EXISTS " + TBL_COMMANDS);
onCreate(db);
return;
}
- if (newVersion >= 3) {
+ if (oldVersion < 3 && newVersion >= 3) {
// Add the optional columns to clients.
db.execSQL("ALTER TABLE " + TBL_CLIENTS + " ADD COLUMN " + COL_FORMFACTOR + " TEXT");
db.execSQL("ALTER TABLE " + TBL_CLIENTS + " ADD COLUMN " + COL_OS + " TEXT");
db.execSQL("ALTER TABLE " + TBL_CLIENTS + " ADD COLUMN " + COL_APPLICATION + " TEXT");
db.execSQL("ALTER TABLE " + TBL_CLIENTS + " ADD COLUMN " + COL_APP_PACKAGE + " TEXT");
db.execSQL("ALTER TABLE " + TBL_CLIENTS + " ADD COLUMN " + COL_DEVICE + " TEXT");
}
- if (newVersion >= 4) {
+ if (oldVersion < 4 && newVersion >= 4) {
db.execSQL("ALTER TABLE " + TBL_CLIENTS + " ADD COLUMN " + COL_FXA_DEVICE_ID + " TEXT");
db.execSQL("CREATE INDEX idx_fxa_device_id ON " + TBL_CLIENTS + "(" + COL_FXA_DEVICE_ID + ")");
}
}
public void wipeDB() {
SQLiteDatabase db = this.getCachedWritableDatabase();
onUpgrade(db, 0, SCHEMA_VERSION);