diff options
author | Andreas Straub <andy@strb.org> | 2015-11-06 14:50:55 +0100 |
---|---|---|
committer | Andreas Straub <andy@strb.org> | 2015-11-06 14:50:55 +0100 |
commit | c6e54e7e5a3e402553d2f57e2997fb80d029d559 (patch) | |
tree | 1bec79ea0b6a60ca2816a92a214c084f2c83a30e | |
parent | 8471fbd9b747c68aa5e333cb277a6a0dc6d9c878 (diff) |
Move migration 19 before 17
Migration 17 depends on Account deserialization, so any migrations that
touch the accounts table need to be applied beforehand.
Re-writing the migration to work directly on the database would lead to
a lot of code duplication, so it's not worth it at this time, but might
become necessary later on to avoid dependency cycles.
-rw-r--r-- | src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java index fdbfe4fe..0e133d19 100644 --- a/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/main/java/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -304,6 +304,12 @@ public class DatabaseBackend extends SQLiteOpenHelper { db.execSQL("ALTER TABLE " + Message.TABLENAME + " ADD COLUMN " + Message.CARBON + " INTEGER"); } + if (oldVersion < 19 && newVersion >= 19) { + db.execSQL("ALTER TABLE " + Account.TABLENAME + " ADD COLUMN "+ Account.DISPLAY_NAME+ " TEXT"); + } + /* Any migrations that alter the Account table need to happen BEFORE this migration, as it + * depends on account de-serialization. + */ if (oldVersion < 17 && newVersion >= 17) { List<Account> accounts = getAccounts(db); for (Account account : accounts) { @@ -325,9 +331,6 @@ public class DatabaseBackend extends SQLiteOpenHelper { if (oldVersion < 18 && newVersion >= 18) { db.execSQL("ALTER TABLE " + Message.TABLENAME + " ADD COLUMN "+ Message.READ+ " NUMBER DEFAULT 1"); } - if (oldVersion < 19 && newVersion >= 19) { - db.execSQL("ALTER TABLE " + Account.TABLENAME + " ADD COLUMN "+ Account.DISPLAY_NAME+ " TEXT"); - } } public static synchronized DatabaseBackend getInstance(Context context) { |