14.lua

main 31 lines · 1.3 KB Raw
Alex Alex Commit Server upload 18/10/2026 23:38
1function onUpdateDatabase()
2 print("> Updating database to version 15 (moving groups to data/XML/groups.xml)")
3
4 db.query("ALTER TABLE players DROP FOREIGN KEY players_ibfk_2")
5 db.query("DROP INDEX group_id ON players")
6
7 db.query("ALTER TABLE accounts DROP FOREIGN KEY accounts_ibfk_1")
8 db.query("DROP INDEX group_id ON accounts")
9 db.query("ALTER TABLE `accounts` DROP `group_id`")
10
11 local groupsFile = io.open("data/XML/groups.xml", "w")
12 if groupsFile then
13 groupsFile:write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n")
14 groupsFile:write("<groups>\r\n")
15
16 local resultId = db.storeQuery("SELECT `id`, `name`, `flags`, `access`, `maxdepotitems`, `maxviplist` FROM `groups` ORDER BY `id` ASC")
17 if resultId ~= false then
18 repeat
19 groupsFile:write("\t<group id=\"" .. result.getNumber(resultId, "id") .. "\" name=\"" .. result.getString(resultId, "name") .. "\" flags=\"" .. string.format("%u", result.getNumber(resultId, "flags")) .. "\" access=\"" .. result.getNumber(resultId, "access") .. "\" maxdepotitems=\"" .. result.getNumber(resultId, "maxdepotitems") .. "\" maxvipentries=\"" .. result.getNumber(resultId, "maxviplist") .. "\" />\r\n")
20 until not result.next(resultId)
21 result.free(resultId)
22 end
23
24 groupsFile:write("</groups>\r\n")
25 groupsFile:close()
26
27 db.query("DROP TABLE `groups`")
28 end
29 return true
30end
31
Top