diff --git a/common/database/database_update.h b/common/database/database_update.h index 03d55d5ea..a445422bc 100644 --- a/common/database/database_update.h +++ b/common/database/database_update.h @@ -33,6 +33,13 @@ public: DatabaseUpdate *SetContentDatabase(Database *db); DatabaseUpdate *SetSkipBackup(bool skip); bool HasPendingUpdates(); + + static DatabaseUpdate* Instance() + { + static DatabaseUpdate instance; + return &instance; + } + private: bool m_skip_backup = false; Database *m_database; diff --git a/zone/main.cpp b/zone/main.cpp index 5a9490802..377341960 100644 --- a/zone/main.cpp +++ b/zone/main.cpp @@ -106,7 +106,6 @@ EQEmuLogSys LogSys; ZoneEventScheduler event_scheduler; WorldContentService content_service; PlayerEventLogs player_event_logs; -DatabaseUpdate database_update; EvolvingItemsManager evolving_items_manager; const SPDat_Spell_Struct* spells; @@ -316,7 +315,7 @@ int main(int argc, char **argv) const auto c = EQEmuConfig::get(); if (c->auto_database_updates) { - if (database_update.SetDatabase(&database)->HasPendingUpdates()) { + if (DatabaseUpdate::Instance()->SetDatabase(&database)->HasPendingUpdates()) { LogWarning("Database is not up to date [world] needs to be ran to apply updates, shutting down in 5 seconds"); std::this_thread::sleep_for(std::chrono::milliseconds(5000)); LogInfo("Exiting due to pending database updates");