From 58a5e8f0462c3eaa7b1d54943cf5fa6ddf0e39c7 Mon Sep 17 00:00:00 2001 From: ElPumpo Date: Sat, 1 Jun 2019 14:07:08 +0200 Subject: [PATCH] Added missing mysql keys --- README.md | 2 +- esx_datastore.sql | 21 ++++++++++----------- server/classes/datastore.lua | 6 ++---- server/main.lua | 17 ++++------------- 4 files changed, 17 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index c7da533d..7718912e 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ end) ### License esx_datastore - datastore inventory for ESX -Copyright (C) 2015-2018 Jérémie N'gadi +Copyright (C) 2015-2019 Jérémie N'gadi This program Is free software: you can redistribute it And/Or modify it under the terms Of the GNU General Public License As published by the Free Software Foundation, either version 3 Of the License, Or (at your option) any later version. diff --git a/esx_datastore.sql b/esx_datastore.sql index 5b694f8a..1fdd9049 100644 --- a/esx_datastore.sql +++ b/esx_datastore.sql @@ -1,21 +1,20 @@ USE `essentialmode`; CREATE TABLE `datastore` ( - `name` varchar(60) NOT NULL, - `label` varchar(255) NOT NULL, - `shared` int(11) NOT NULL, + `name` VARCHAR(60) NOT NULL, + `label` VARCHAR(100) NOT NULL, + `shared` INT(11) NOT NULL, PRIMARY KEY (`name`) ); CREATE TABLE `datastore_data` ( - `id` int(11) NOT NULL AUTO_INCREMENT, - `name` varchar(60) NOT NULL, - `owner` varchar(60), - `data` longtext, + `id` INT(11) NOT NULL AUTO_INCREMENT, + `name` VARCHAR(60) NOT NULL, + `owner` VARCHAR(60), + `data` LONGTEXT, - INDEX index_datastore_name (`name`), - CONSTRAINT unique_datastore_owner_name UNIQUE (`owner`, `name`), - - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + UNIQUE INDEX `index_datastore_data_name_owner` (`name`, `owner`), + INDEX `index_datastore_data_name` (`name`) ); diff --git a/server/classes/datastore.lua b/server/classes/datastore.lua index 2c31e541..382689d8 100644 --- a/server/classes/datastore.lua +++ b/server/classes/datastore.lua @@ -68,14 +68,12 @@ function CreateDataStore(name, owner, data) local timeoutCallback = ESX.SetTimeout(10000, function() if self.owner == nil then - MySQL.Async.execute('UPDATE datastore_data SET data = @data WHERE name = @name', - { + MySQL.Async.execute('UPDATE datastore_data SET data = @data WHERE name = @name', { ['@data'] = json.encode(self.data), ['@name'] = self.name, }) else - MySQL.Async.execute('UPDATE datastore_data SET data = @data WHERE name = @name and owner = @owner', - { + MySQL.Async.execute('UPDATE datastore_data SET data = @data WHERE name = @name and owner = @owner', { ['@data'] = json.encode(self.data), ['@name'] = self.name, ['@owner'] = self.owner, diff --git a/server/main.lua b/server/main.lua index c80e3135..37b4b8c2 100644 --- a/server/main.lua +++ b/server/main.lua @@ -1,7 +1,5 @@ -ESX = nil -local DataStoresIndex = {} -local DataStores = {} -local SharedDataStores = {} +local DataStores, DataStoresIndex, SharedDataStores = {}, {}, {} +ESX = nil TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end) @@ -18,7 +16,6 @@ MySQL.ready(function() }) if shared == 0 then - table.insert(DataStoresIndex, name) DataStores[name] = {} @@ -30,9 +27,7 @@ MySQL.ready(function() table.insert(DataStores[name], dataStore) end - else - local data = nil if #result2 == 0 then @@ -47,7 +42,6 @@ MySQL.ready(function() local dataStore = CreateDataStore(name, nil, data) SharedDataStores[name] = dataStore - end end end) @@ -86,9 +80,7 @@ AddEventHandler('esx_datastore:getSharedDataStore', function(name, cb) cb(GetSharedDataStore(name)) end) -AddEventHandler('esx:playerLoaded', function(source) - local _source = source - local xPlayer = ESX.GetPlayerFromId(_source) +AddEventHandler('esx:playerLoaded', function(playerId, xPlayer) local dataStores = {} for i=1, #DataStoresIndex, 1 do @@ -96,8 +88,7 @@ AddEventHandler('esx:playerLoaded', function(source) local dataStore = GetDataStore(name, xPlayer.identifier) if dataStore == nil then - MySQL.Async.execute('INSERT INTO datastore_data (name, owner, data) VALUES (@name, @owner, @data)', - { + MySQL.Async.execute('INSERT INTO datastore_data (name, owner, data) VALUES (@name, @owner, @data)', { ['@name'] = name, ['@owner'] = xPlayer.identifier, ['@data'] = '{}'