From 6e71142970aa99e7119ba046bc543c0d8ced03f1 Mon Sep 17 00:00:00 2001 From: Michael G Date: Wed, 13 Dec 2023 18:22:01 -0500 Subject: [PATCH 1/3] Escape the groups column --- server/player.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/player.lua b/server/player.lua index 410ffd9..d8909ab 100644 --- a/server/player.lua +++ b/server/player.lua @@ -165,7 +165,7 @@ local function createCharacterTable(info) -- Save character information to database function self.save() - local affectedRows = MySQL.update.await("UPDATE nd_characters SET name = ?, firstname = ?, lastname = ?, dob = ?, gender = ?, cash = ?, bank = ?, groups = ?, metadata = ? WHERE charid = ?", { + local affectedRows = MySQL.update.await("UPDATE nd_characters SET name = ?, firstname = ?, lastname = ?, dob = ?, gender = ?, cash = ?, bank = ?, `groups` = ?, metadata = ? WHERE charid = ?", { self.name, self.firstname, self.lastname, @@ -398,7 +398,7 @@ function NDCore.newCharacter(src, info) inventory = info.inventory or {}, } - charInfo.id = MySQL.insert.await("INSERT INTO nd_characters (identifier, name, firstname, lastname, dob, gender, cash, bank, groups, metadata) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", { + charInfo.id = MySQL.insert.await("INSERT INTO nd_characters (identifier, name, firstname, lastname, dob, gender, cash, bank, `groups`, metadata) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)", { identifier, charInfo.name, charInfo.firstname, From 8f7c52130ae77c116afe6d1209862dabecf9bc6b Mon Sep 17 00:00:00 2001 From: Michael G Date: Wed, 13 Dec 2023 18:26:36 -0500 Subject: [PATCH 2/3] Make default values for LONGTEXT compatible with MySQL8 --- database/characters.sql | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/database/characters.sql b/database/characters.sql index e70a660..594a78e 100644 --- a/database/characters.sql +++ b/database/characters.sql @@ -8,8 +8,8 @@ CREATE TABLE IF NOT EXISTS `nd_characters` ( `gender` VARCHAR(50) DEFAULT NULL, `cash` INT(10) DEFAULT '0', `bank` INT(10) DEFAULT '0', - `groups` LONGTEXT DEFAULT '[]', - `metadata` LONGTEXT DEFAULT '[]', - `inventory` LONGTEXT DEFAULT '[]', + `groups` LONGTEXT DEFAULT ('[]'), + `metadata` LONGTEXT DEFAULT ('[]'), + `inventory` LONGTEXT DEFAULT ('[]'), PRIMARY KEY (`charid`) USING BTREE ); From a1150bb821d507c526085a4d26475e2794af73af Mon Sep 17 00:00:00 2001 From: Michael G Date: Wed, 13 Dec 2023 18:27:00 -0500 Subject: [PATCH 3/3] Make LONGTEXT default values compatible with MySQL8 --- database/vehicles.sql | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/database/vehicles.sql b/database/vehicles.sql index c4ae6dd..44c52cf 100644 --- a/database/vehicles.sql +++ b/database/vehicles.sql @@ -2,13 +2,13 @@ CREATE TABLE IF NOT EXISTS `nd_vehicles` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `owner` INT(11) DEFAULT NULL, `plate` VARCHAR(255) DEFAULT NULL, - `glovebox` LONGTEXT DEFAULT '[]', - `trunk` LONGTEXT DEFAULT '[]', - `properties` LONGTEXT DEFAULT '[]', + `glovebox` LONGTEXT DEFAULT ('[]'), + `trunk` LONGTEXT DEFAULT ('[]'), + `properties` LONGTEXT DEFAULT ('[]'), `stored` INT(11) DEFAULT '1', `impounded` INT(11) DEFAULT '0', `stolen` INT(11) DEFAULT '0', - `metadata` LONGTEXT DEFAULT '[]', + `metadata` LONGTEXT DEFAULT ('[]'), PRIMARY KEY (`id`) USING BTREE, INDEX `owner` (`owner`) USING BTREE, CONSTRAINT `vehowner` FOREIGN KEY (`owner`) REFERENCES `nd_characters` (`charid`) ON UPDATE CASCADE ON DELETE CASCADE