Skip to content

Commit 5a8ccb2

Browse files
Clean up datalayer code for db migrations
1 parent fcc5f37 commit 5a8ccb2

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

Monal/Classes/DataLayer.m

-9
Original file line numberDiff line numberDiff line change
@@ -93,19 +93,10 @@ -(id) init
9393

9494
//checking db version and upgrading if necessary
9595
DDLogInfo(@"Database version check");
96-
97-
//needed for sqlite >= 3.26.0 (see https://sqlite.org/lang_altertable.html point 2)
98-
[self.db executeNonQuery:@"PRAGMA legacy_alter_table=on;"];
99-
[self.db executeNonQuery:@"PRAGMA foreign_keys=off;"];
10096

10197
//do db upgrades and vacuum db afterwards
10298
if([DataLayerMigrations migrateDB:self.db withDataLayer:self])
10399
[self.db vacuum];
104-
105-
//turn foreign keys on again
106-
//needed for sqlite >= 3.26.0 (see https://sqlite.org/lang_altertable.html point 2)
107-
[self.db executeNonQuery:@"PRAGMA legacy_alter_table=off;"];
108-
[self.db executeNonQuery:@"PRAGMA foreign_keys=on;"];
109100

110101
DDLogInfo(@"Database version check completed");
111102

Monal/Classes/DataLayerMigrations.m

+9
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,10 @@ +(BOOL) migrateDB:(MLSQLite*) db withDataLayer:(DataLayer*) dataLayer
6565
}];
6666

6767
return [db boolWriteTransaction:^{
68+
//needed for sqlite >= 3.26.0 (see https://sqlite.org/lang_altertable.html point 2)
69+
[self.db executeNonQuery:@"PRAGMA legacy_alter_table=on;"];
70+
[self.db executeNonQuery:@"PRAGMA foreign_keys=off;"];
71+
6872
NSNumber* dbversion = [self readDBVersion:db];
6973
DDLogInfo(@"Got db version %@", dbversion);
7074

@@ -1186,6 +1190,11 @@ FOREIGN KEY('account_id') REFERENCES 'account'('account_id') ON DELETE CASCADE \
11861190
}
11871191
}
11881192

1193+
//turn foreign keys on again
1194+
//needed for sqlite >= 3.26.0 (see https://sqlite.org/lang_altertable.html point 2)
1195+
[self.db executeNonQuery:@"PRAGMA legacy_alter_table=off;"];
1196+
[self.db executeNonQuery:@"PRAGMA foreign_keys=on;"];
1197+
11891198
//check if db version changed and invalidate state, if so
11901199
NSNumber* newdbversion = [self readDBVersion:db];
11911200
if([dbversion isEqualToNumber:newdbversion] == NO)

0 commit comments

Comments
 (0)