From 0e0eb3b0b5c7d69463c6e6ea3dae4eb2f63c902a Mon Sep 17 00:00:00 2001 From: Pedro Henrique Alves Cruz Date: Thu, 22 Aug 2024 12:43:59 -0300 Subject: [PATCH] fix: suggestions --- config.lua.dist | 2 +- data-otservbr-global/migrations/46.lua | 2 ++ src/database/databasemanager.cpp | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/config.lua.dist b/config.lua.dist index 1aecf0f7b77..90063522221 100644 --- a/config.lua.dist +++ b/config.lua.dist @@ -22,10 +22,10 @@ toggleMaintainMode = false maintainModeMessage = "" -- Combat settings +-- NOTE: World id is 1 as default, new worlds must have different ids always greater than 1 -- NOTE: valid values for worldType are: "pvp", "no-pvp" and "pvp-enforced" -- NOTE: removeBeginningWeaponAmmunition: spears, arrows, bolt have endless ammo (allows training for paladins) -- NOTE: refundManaOnBeginningWeapons: wand of vortex and snakebite refund mana used (allows training for mages) --- NOTE: World id is 1 as default, new worlds must have different ids. worldId = 1 worldType = "pvp" hotkeyAimbotEnabled = true diff --git a/data-otservbr-global/migrations/46.lua b/data-otservbr-global/migrations/46.lua index 7605ec6d6ea..030ec40135a 100644 --- a/data-otservbr-global/migrations/46.lua +++ b/data-otservbr-global/migrations/46.lua @@ -16,6 +16,8 @@ function onUpdateDatabase() ]]) db.query("ALTER TABLE `server_config` ADD `worldId` int(3) UNSIGNED NOT NULL DEFAULT 1;") + db.query("ALTER TABLE `server_config` DROP PRIMARY KEY;") + db.query("ALTER TABLE `server_config` ADD PRIMARY KEY (`config`, `worldId`);") db.query("ALTER TABLE `server_config` ADD FOREIGN KEY (`worldId`) REFERENCES `worlds` (`id`) ON DELETE CASCADE;") db.query("ALTER TABLE `players_online` ADD `worldId` int(3) UNSIGNED NOT NULL DEFAULT 1;") diff --git a/src/database/databasemanager.cpp b/src/database/databasemanager.cpp index d133ead5f05..2fa028cfa12 100644 --- a/src/database/databasemanager.cpp +++ b/src/database/databasemanager.cpp @@ -62,7 +62,7 @@ bool DatabaseManager::isDatabaseSetup() { int32_t DatabaseManager::getDatabaseVersion() { if (!tableExists("server_config")) { Database &db = Database::getInstance(); - db.executeQuery("CREATE TABLE `server_config` (`worldId` INT(11) NOT NULL DEFAULT '0', `config` VARCHAR(50) NOT NULL, `value` VARCHAR(256) NOT NULL DEFAULT '', UNIQUE(`config`)) ENGINE = InnoDB"); + db.executeQuery("CREATE TABLE `server_config` (`config` VARCHAR(50) NOT NULL, `value` VARCHAR(256) NOT NULL DEFAULT '', `worldId` INT(11) NOT NULL DEFAULT '1', UNIQUE(`config`, `worldId`)) ENGINE = InnoDB"); db.executeQuery(fmt::format("INSERT INTO `server_config` (`config`, `value`) VALUES ('db_version', 0)")); return 0; }