From e1413bbc4716e63a89d281b931c2f30d4a7017cd Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 18 Feb 2015 19:15:17 +0300 Subject: hercules: convert to char_reg_num_db.sql --- hercules/code/server/db/charregnumdb.py | 32 ++++++++++++++++++++++++++++++++ hercules/code/server/evol/main.py | 6 ++++-- hercules/templates/char_reg_num_db.sql | 9 +++++++++ 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 hercules/code/server/db/charregnumdb.py create mode 100644 hercules/templates/char_reg_num_db.sql (limited to 'hercules') diff --git a/hercules/code/server/db/charregnumdb.py b/hercules/code/server/db/charregnumdb.py new file mode 100644 index 0000000..b1446e3 --- /dev/null +++ b/hercules/code/server/db/charregnumdb.py @@ -0,0 +1,32 @@ +# -*- coding: utf8 -*- +# +# Copyright (C) 2015 Evol Online +# Author: Andrei Karas (4144) + +from code.fileutils import * +from code.stringutils import * + +def saveCharRegNumDbTable(users): + dstFile = "newdb/char_reg_num_db.sql" + firstLine = True + tpl = readFile("templates/char_reg_num_db.sql") + with open(dstFile, "w") as w: + w.write(tpl) + w.write("INSERT INTO `char_reg_num_db` VALUES ") + for userId in users: + user = users[userId] + for varKey in user.variables: + varValue = user.variables[varKey] + + if firstLine == False: + w.write(",\n") + else: + firstLine = False + + w.write(("({char_id},'{key}',{index},{value})").format( + char_id = user.char_id, + key = varKey, + index = "0", + value = varValue + )) + w.write("\n") diff --git a/hercules/code/server/evol/main.py b/hercules/code/server/evol/main.py index 6014e05..577c868 100644 --- a/hercules/code/server/evol/main.py +++ b/hercules/code/server/evol/main.py @@ -6,6 +6,7 @@ from code.server.account import * from code.server.db.char import * +from code.server.db.charregnumdb import * from code.server.evol.athena import * from code.server.evol.consts import * from code.server.evol.itemdb import * @@ -28,5 +29,6 @@ def serverEvolMain(): def dbEvolMain(): convertAccount() - users = readAthena(); - saveCharTable(users); + users = readAthena() + saveCharTable(users) + saveCharRegNumDbTable(users) diff --git a/hercules/templates/char_reg_num_db.sql b/hercules/templates/char_reg_num_db.sql new file mode 100644 index 0000000..dd96ae9 --- /dev/null +++ b/hercules/templates/char_reg_num_db.sql @@ -0,0 +1,9 @@ +CREATE TABLE IF NOT EXISTS `char_reg_num_db` ( + `char_id` INT(11) UNSIGNED NOT NULL DEFAULT '0', + `key` VARCHAR(32) BINARY NOT NULL DEFAULT '', + `index` INT(11) UNSIGNED NOT NULL DEFAULT '0', + `value` INT(11) NOT NULL DEFAULT '0', + PRIMARY KEY (`char_id`,`key`,`index`), + KEY `char_id` (`char_id`) +) ENGINE=InnoDB; + -- cgit v1.2.3-70-g09d2