diff --git a/mobile/lib/core/configuration.dart b/mobile/lib/core/configuration.dart index 95d526a5dd..641753b3de 100644 --- a/mobile/lib/core/configuration.dart +++ b/mobile/lib/core/configuration.dart @@ -192,10 +192,9 @@ class Configuration { // await CollectionsDB.instance.clearTable(); await MemoriesDB.instance.clearTable(); await MLDataDB.instance.clearTable(); - + await remoteDB.clearAllTables(); await UploadLocksDB.instance.clearTable(); await IgnoredFilesService.instance.reset(); - await remoteDB.clearTrash(); unawaited(HomeWidgetService.instance.clearWidget(autoLogout)); if (!autoLogout) { // Following services won't be initialized if it's the case of autoLogout diff --git a/mobile/lib/db/remote/db.dart b/mobile/lib/db/remote/db.dart index 1b000eb7b4..5aa9bf3232 100644 --- a/mobile/lib/db/remote/db.dart +++ b/mobile/lib/db/remote/db.dart @@ -44,6 +44,17 @@ class RemoteDB with SqlDbBase { return result; } + Future clearAllTables() async { + final stopwatch = Stopwatch()..start(); + await _sqliteDB.executeBatch( + 'DELETE FROM collections; DELETE FROM collection_files; DELETE FROM files; DELETE FROM entities; DELETE FROM trash; delete FROM upload_mapping;', + [], + ); + debugPrint( + '$runtimeType clearAllTables complete in ${stopwatch.elapsed.inMilliseconds}ms', + ); + } + Future> getCollectionIDToUpdationTime() async { final result = {}; final cursor = await _sqliteDB.getAll( @@ -82,7 +93,7 @@ class RemoteDB with SqlDbBase { } Future insertFilesDiff( - List items, + List items, ) async { if (items.isEmpty) return; final stopwatch = Stopwatch()..start(); @@ -110,7 +121,7 @@ class RemoteDB with SqlDbBase { } Future deleteFilesDiff( - List items, + List items, ) async { final int collectionID = items.first.collectionID; final stopwatch = Stopwatch()..start();