1 var util = require("util");
2 var config = require("./configure.js");
3 var async = require("async");
5 var MySQLPool = new require("./mysql_pool.js");
6 var pool = new MySQLPool({
9 password : config.db_password,
10 port : config.db_port,
16 var query = GetDropTableQuery("list");
17 pool.query(query,null,next);
19 function(result,next){
20 var query = GetCreateQuery(config.alias,"list");
21 pool.query(query,null,next);
23 function(result,next){
24 var query = GetDropTableQuery("ipbanlist");
25 pool.query(query,null,next);
27 function(result,next){
40 var query = GetCreateQuery(def,"ipbanlist");
41 pool.query(query,null,next);
43 function(result,next){
44 var query = GetDropTableQuery("rooms");
45 pool.query(query,null,next);
47 function(result,next){
51 type : "unsignednumber",
64 var query = GetCreateQuery(def,"rooms");
65 pool.query(query,null,next);
73 function GetDropTableQuery(tablename)
75 var result = util.format("DROP TABLE IF EXISTS %s;",tablename);
82 function GetCreateQuery(def,tablename)
84 var result = "CREATE TABLE " + tablename + "(";
90 result += util.format("%s VARCHAR(%d) ",key,def[key].length);
93 result += util.format("%s %s ",key,GetIntType(def[key].length));
95 case "unsignednumber":
96 result += util.format("%s %s UNSIGNED ",key,GetIntType(def[key].length));
99 result += util.format("%s VARCHAR(%d) ",key,def[key].length);
102 result += util.format("%s VARCHAR(%d) ",key,def[key].length);
105 result += util.format("%s TEXT ",key);
108 result += util.format("%s BOOL ",key);
111 result += util.format("%s DATETIME ",key);
114 throw util.format("invaild %s type:%s",key,def[key].type);
116 if(typeof(def[key].isnotempty) != "undefined" && def[key].isnotempty)
117 result += " NOT NULL ";
123 if(typeof(def[key].primary) != "undefined" && def[key].primary)
125 result += util.format("PRIMARY KEY(%s)",key);
136 function GetIntType(len)
148 throw "Invaild Length";