aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Straub <andy@strb.org>2015-11-06 14:50:55 +0100
committerAndreas Straub <andy@strb.org>2015-11-06 14:50:55 +0100
commitc6e54e7e5a3e402553d2f57e2997fb80d029d559 (patch)
tree1bec79ea0b6a60ca2816a92a214c084f2c83a30e
parent8471fbd9b747c68aa5e333cb277a6a0dc6d9c878 (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.java9
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) {