summaryrefslogtreecommitdiffstats
path: root/src/account-server
diff options
context:
space:
mode:
authorYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-30 20:35:51 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-08-30 20:35:51 +0200
commitd9b28d9fb48e8634670850729d576eaa2051561c (patch)
treecc7ebb8b8b31773cb8df50ca863c2b465c14eadb /src/account-server
parentca5afebc85cbf769122105904b512942272c0ea3 (diff)
downloadmanaserv-d9b28d9fb48e8634670850729d576eaa2051561c.tar.gz
manaserv-d9b28d9fb48e8634670850729d576eaa2051561c.tar.xz
manaserv-d9b28d9fb48e8634670850729d576eaa2051561c.zip
Made the db version an official pre-requisite.
It was uneasy to not miss something when updating the db. And as the db version is somewhat corresponding to a certain protocol version, adding it in the protocol file sounds relevant to me, and helps when updating it.
Diffstat (limited to 'src/account-server')
-rw-r--r--src/account-server/main-account.cpp5
-rw-r--r--src/account-server/storage.cpp11
2 files changed, 10 insertions, 6 deletions
diff --git a/src/account-server/main-account.cpp b/src/account-server/main-account.cpp
index 5520fb8..6d46ec4 100644
--- a/src/account-server/main-account.cpp
+++ b/src/account-server/main-account.cpp
@@ -364,8 +364,9 @@ int main(int argc, char *argv[])
LOG_INFO("The Mana Account+Chat Server (unknown version)");
#endif
LOG_INFO("Manaserv Protocol version " << ManaServ::PROTOCOL_VERSION
- << ", " << "Enet version " << ENET_VERSION_MAJOR << "."
- << ENET_VERSION_MINOR << "." << ENET_VERSION_PATCH);
+ << ", Enet version " << ENET_VERSION_MAJOR << "."
+ << ENET_VERSION_MINOR << "." << ENET_VERSION_PATCH
+ << ", Database version " << ManaServ::SUPPORTED_DB_VERSION);
if (!options.verbosityChanged)
options.verbosity = static_cast<Logger::Level>(
diff --git a/src/account-server/storage.cpp b/src/account-server/storage.cpp
index ef66c02..4f22964 100644
--- a/src/account-server/storage.cpp
+++ b/src/account-server/storage.cpp
@@ -28,10 +28,12 @@
#include "chat-server/guild.h"
#include "chat-server/post.h"
#include "common/configuration.h"
+#include "common/manaserv_protocol.h"
#include "dal/dalexcept.h"
#include "dal/dataproviderfactory.h"
#include "utils/functors.h"
#include "utils/point.h"
+#include "utils/string.h"
#include "utils/throwerror.h"
#include "utils/xml.h"
@@ -41,7 +43,6 @@ static const char *DEFAULT_ITEM_FILE = "items.xml";
// Defines the supported db version
static const char *DB_VERSION_PARAMETER = "database_version";
-static const char *SUPPORTED_DB_VERSION = "15";
/*
* MySQL specificities:
@@ -118,12 +119,14 @@ void Storage::open()
mDb->connect();
// Check database version here
- std::string dbversion = getWorldStateVar(DB_VERSION_PARAMETER);
- if (dbversion != SUPPORTED_DB_VERSION)
+ int dbversion = utils::stringToInt(
+ getWorldStateVar(DB_VERSION_PARAMETER));
+ int supportedDbVersion = ManaServ::SUPPORTED_DB_VERSION;
+ if (dbversion != supportedDbVersion)
{
std::ostringstream errmsg;
errmsg << "Database version is not supported. "
- << "Needed version: '" << SUPPORTED_DB_VERSION
+ << "Needed version: '" << supportedDbVersion
<< "', current version: '" << dbversion << "'";
utils::throwError(errmsg.str());
}