From a362117749ab0b4b124847d8b31d11b0c599197a Mon Sep 17 00:00:00 2001 From: Uros Spasojevic Date: Mon, 29 Dec 2025 05:04:40 +0100 Subject: [PATCH] fix(Core/DBUpdater): Fix sql files not being applied in alphabetic order (#24206) --- src/server/database/Updater/DBUpdater.cpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/server/database/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp index 0d4e45123..4e06beb48 100644 --- a/src/server/database/Updater/DBUpdater.cpp +++ b/src/server/database/Updater/DBUpdater.cpp @@ -27,6 +27,7 @@ #include #include #include +#include std::string DBUpdaterUtil::GetCorrectedMySQLExecutable() { @@ -396,16 +397,23 @@ bool DBUpdater::Populate(DatabaseWorkerPool& pool) return false; } - for (std::filesystem::directory_iterator itr(DirPath); itr != DirItr; ++itr) - { - if (itr->path().extension() != ".sql") - continue; + std::vector sqlFiles; - LOG_INFO("sql.updates", ">> Applying \'{}\'...", itr->path().filename().generic_string()); + for (const auto &entry : std::filesystem::directory_iterator(DirPath)) + { + if (entry.path().extension() == ".sql") + sqlFiles.push_back(entry.path()); + } + + std::sort(sqlFiles.begin(), sqlFiles.end()); + + for (const auto &file : sqlFiles) + { + LOG_INFO("sql.updates", ">> Applying \'{}\'...", file.filename().generic_string()); try { - ApplyFile(pool, itr->path()); + ApplyFile(pool, file); } catch (UpdateException&) {