Open DB from settings path

This commit is contained in:
Kamil 2020-11-29 00:31:00 +01:00 committed by Gent S
parent c2f640fd97
commit a1062f220b
3 changed files with 11 additions and 3 deletions

View File

@ -18,13 +18,18 @@
#endif
std::mutex dbCrit;
sqlite3* db;
#pragma region LoginServer
void Database::open() {
// this parameter means it will try to preserve data during migration
bool preserve = true;
db.sync_schema(preserve);
int rc = sqlite3_open(settings::DBPATH.c_str(), &db);
if (rc != SQLITE_OK) {
std::cout << "[FATAL] Cannot open database: " << sqlite3_errmsg(db) << std::endl;
terminate(0);
}
std::cout << "[INFO] Database in operation ";
int accounts = getAccountsCount();
int players = getPlayersCount();

View File

@ -28,6 +28,7 @@ std::string settings::DROPSJSON = "tdata/drops.json";
std::string settings::EGGSJSON = "tdata/eggs.json";
std::string settings::GRUNTWORKJSON = "tdata/gruntwork.json";
std::string settings::MOTDSTRING = "Welcome to OpenFusion!";
std::string settings::DBPATH = "database.db";
int settings::ACCLEVEL = 1;
// monitor settings
@ -72,6 +73,7 @@ void settings::init() {
PATHJSON = reader.Get("shard", "pathdata", PATHJSON);
GRUNTWORKJSON = reader.Get("shard", "gruntwork", GRUNTWORKJSON);
MOTDSTRING = reader.Get("shard", "motd", MOTDSTRING);
DBPATH = reader.Get("shard", "dbpath", DBPATH);
ACCLEVEL = reader.GetInteger("shard", "accountlevel", ACCLEVEL);
EVENTMODE = reader.GetInteger("shard", "eventmode", EVENTMODE);
EVENTCRATECHANCE = reader.GetInteger("shard", "eventcratechance", EVENTCRATECHANCE);

View File

@ -23,6 +23,7 @@ namespace settings {
extern std::string DROPSJSON;
extern std::string EGGSJSON;
extern std::string GRUNTWORKJSON;
extern std::string DBPATH;
extern int EVENTMODE;
extern int EVENTCRATECHANCE;
extern bool MONITORENABLED;