diff --git a/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.h b/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.h --- a/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.h +++ b/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.h @@ -9,7 +9,10 @@ namespace comm { class DatabaseManager { - static std::once_flag initialized; + // Indicate that at least one instance of SQLiteQueryExecutor was created, + // which is identical to finishing the migration process and having a fully + // operational database that can be used by application logic. + static std::once_flag queryExecutorCreationIndicated; static void setDatabaseStatusAsWorkable(); static void indicateQueryExecutorCreation(); diff --git a/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp b/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp --- a/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp +++ b/native/cpp/CommonCpp/DatabaseManagers/DatabaseManager.cpp @@ -8,7 +8,7 @@ namespace comm { -std::once_flag DatabaseManager::initialized; +std::once_flag DatabaseManager::queryExecutorCreationIndicated; typedef const std::string DatabaseManagerStatus; DatabaseManagerStatus DB_MANAGER_WORKABLE = "WORKABLE"; @@ -25,7 +25,7 @@ // creating an instance means that migration code was executed // and finished without error and database is workable - std::call_once(DatabaseManager::initialized, []() { + std::call_once(DatabaseManager::queryExecutorCreationIndicated, []() { DatabaseManager::indicateQueryExecutorCreation(); }); return instance;