diff --git a/lib/data/datasources/local_db_service.dart b/lib/data/datasources/local_db_service.dart index be3089e..5af5bf0 100644 --- a/lib/data/datasources/local_db_service.dart +++ b/lib/data/datasources/local_db_service.dart @@ -39,7 +39,18 @@ class LocalDbService extends _$LocalDbService { print('LocalDbService constructor called'); } - static final LocalDbService instance = LocalDbService._internal(); + static LocalDbService? _instance; + + static LocalDbService get instance { + _instance ??= LocalDbService._internal(); + return _instance!; + } + + Future closeDatabase() async { + await close(); + _instance = null; + print('LocalDbService connection closed and instance reset.'); + } @override int get schemaVersion => 9; diff --git a/lib/logic/auth_provider.dart b/lib/logic/auth_provider.dart index 31a065c..a8073e5 100644 --- a/lib/logic/auth_provider.dart +++ b/lib/logic/auth_provider.dart @@ -180,9 +180,9 @@ class AuthProvider extends ChangeNotifier { } try { - await LocalDbService().clearDatabase(); + await LocalDbService().closeDatabase(); } catch (e) { - print("Ошибка очистки локальной базы данных: $e"); + print("Ошибка закрытия локальной базы данных: $e"); } _currentUserId = null;