| 1 | # |
|---|
| 2 | # database schema & data info |
|---|
| 3 | # |
|---|
| 4 | |
|---|
| 5 | mark_clustered("useridmap", "userbio", "syncupdates2", "cmdbuffer", "dudata", |
|---|
| 6 | "log2", "logtext2", "logsubject2", "logprop2", "logsec2", |
|---|
| 7 | "talk2", "talkprop2", "talktext2", "talkleft", |
|---|
| 8 | "userpicblob2", "events" |
|---|
| 9 | ); |
|---|
| 10 | |
|---|
| 11 | register_tablecreate("adopt", <<'EOC'); |
|---|
| 12 | CREATE TABLE adopt ( |
|---|
| 13 | adoptid int(10) unsigned NOT NULL auto_increment, |
|---|
| 14 | helperid int(10) unsigned NOT NULL default '0', |
|---|
| 15 | newbieid int(10) unsigned NOT NULL default '0', |
|---|
| 16 | changetime datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 17 | PRIMARY KEY (adoptid), |
|---|
| 18 | KEY (helperid), |
|---|
| 19 | KEY (newbieid) |
|---|
| 20 | ) |
|---|
| 21 | EOC |
|---|
| 22 | |
|---|
| 23 | register_tablecreate("adoptlast", <<'EOC'); |
|---|
| 24 | CREATE TABLE adoptlast ( |
|---|
| 25 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 26 | lastassigned datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 27 | lastadopted datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 28 | PRIMARY KEY (userid) |
|---|
| 29 | ) |
|---|
| 30 | EOC |
|---|
| 31 | |
|---|
| 32 | register_tablecreate("authactions", <<'EOC'); |
|---|
| 33 | CREATE TABLE authactions ( |
|---|
| 34 | aaid int(10) unsigned NOT NULL auto_increment, |
|---|
| 35 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 36 | datecreate datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 37 | authcode varchar(20) default NULL, |
|---|
| 38 | action varchar(50) default NULL, |
|---|
| 39 | arg1 varchar(255) default NULL, |
|---|
| 40 | PRIMARY KEY (aaid) |
|---|
| 41 | ) |
|---|
| 42 | EOC |
|---|
| 43 | |
|---|
| 44 | register_tablecreate("ban", <<'EOC'); |
|---|
| 45 | CREATE TABLE ban ( |
|---|
| 46 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 47 | banneduserid int(10) unsigned NOT NULL default '0', |
|---|
| 48 | KEY (userid), |
|---|
| 49 | PRIMARY KEY (userid,banneduserid) |
|---|
| 50 | ) |
|---|
| 51 | EOC |
|---|
| 52 | |
|---|
| 53 | register_tablecreate("clients", <<'EOC'); |
|---|
| 54 | CREATE TABLE clients ( |
|---|
| 55 | clientid smallint(5) unsigned NOT NULL auto_increment, |
|---|
| 56 | client varchar(40) default NULL, |
|---|
| 57 | PRIMARY KEY (clientid), |
|---|
| 58 | KEY (client) |
|---|
| 59 | ) |
|---|
| 60 | EOC |
|---|
| 61 | |
|---|
| 62 | post_create("clients", |
|---|
| 63 | "sqltry" => "INSERT INTO clients (client) SELECT DISTINCT client FROM logins", |
|---|
| 64 | ); |
|---|
| 65 | |
|---|
| 66 | register_tablecreate("clientusage", <<'EOC'); |
|---|
| 67 | CREATE TABLE clientusage ( |
|---|
| 68 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 69 | clientid smallint(5) unsigned NOT NULL default '0', |
|---|
| 70 | lastlogin datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 71 | PRIMARY KEY (clientid,userid), |
|---|
| 72 | UNIQUE KEY userid (userid,clientid) |
|---|
| 73 | ) |
|---|
| 74 | EOC |
|---|
| 75 | |
|---|
| 76 | post_create("clientusage", |
|---|
| 77 | "sqltry" => "INSERT INTO clientusage SELECT u.userid, c.clientid, l.lastlogin FROM user u, clients c, logins l WHERE u.user=l.user AND l.client=c.client", |
|---|
| 78 | ); |
|---|
| 79 | |
|---|
| 80 | register_tablecreate("codes", <<'EOC'); |
|---|
| 81 | CREATE TABLE codes ( |
|---|
| 82 | type varchar(10) NOT NULL default '', |
|---|
| 83 | code varchar(7) NOT NULL default '', |
|---|
| 84 | item varchar(80) default NULL, |
|---|
| 85 | sortorder smallint(6) NOT NULL default '0', |
|---|
| 86 | PRIMARY KEY (type,code) |
|---|
| 87 | ) PACK_KEYS=1 |
|---|
| 88 | EOC |
|---|
| 89 | |
|---|
| 90 | register_tablecreate("community", <<'EOC'); |
|---|
| 91 | CREATE TABLE community ( |
|---|
| 92 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 93 | ownerid int(10) unsigned NOT NULL default '0', |
|---|
| 94 | membership enum('open','closed') NOT NULL default 'open', |
|---|
| 95 | postlevel enum('members','select','screened') default NULL, |
|---|
| 96 | PRIMARY KEY (userid) |
|---|
| 97 | ) |
|---|
| 98 | EOC |
|---|
| 99 | |
|---|
| 100 | register_tablecreate("dirsearchres2", <<'EOC'); |
|---|
| 101 | CREATE TABLE dirsearchres2 ( |
|---|
| 102 | qdigest varchar(32) NOT NULL default '', |
|---|
| 103 | dateins datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 104 | userids blob, |
|---|
| 105 | PRIMARY KEY (qdigest), |
|---|
| 106 | KEY (dateins) |
|---|
| 107 | ) |
|---|
| 108 | EOC |
|---|
| 109 | |
|---|
| 110 | register_tablecreate("duplock", <<'EOC'); |
|---|
| 111 | CREATE TABLE duplock ( |
|---|
| 112 | realm enum('support','log','comment') NOT NULL default 'support', |
|---|
| 113 | reid int(10) unsigned NOT NULL default '0', |
|---|
| 114 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 115 | digest char(32) NOT NULL default '', |
|---|
| 116 | dupid int(10) unsigned NOT NULL default '0', |
|---|
| 117 | instime datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 118 | KEY (realm,reid,userid) |
|---|
| 119 | ) |
|---|
| 120 | EOC |
|---|
| 121 | |
|---|
| 122 | register_tablecreate("faq", <<'EOC'); |
|---|
| 123 | CREATE TABLE faq ( |
|---|
| 124 | faqid mediumint(8) unsigned NOT NULL auto_increment, |
|---|
| 125 | question text, |
|---|
| 126 | answer text, |
|---|
| 127 | sortorder int(11) default NULL, |
|---|
| 128 | faqcat varchar(20) default NULL, |
|---|
| 129 | lastmodtime datetime default NULL, |
|---|
| 130 | lastmoduserid int(10) unsigned NOT NULL default '0', |
|---|
| 131 | PRIMARY KEY (faqid) |
|---|
| 132 | ) PACK_KEYS=1 |
|---|
| 133 | EOC |
|---|
| 134 | |
|---|
| 135 | register_tablecreate("faqcat", <<'EOC'); |
|---|
| 136 | CREATE TABLE faqcat ( |
|---|
| 137 | faqcat varchar(20) NOT NULL default '', |
|---|
| 138 | faqcatname varchar(100) default NULL, |
|---|
| 139 | catorder int(11) default '50', |
|---|
| 140 | PRIMARY KEY (faqcat) |
|---|
| 141 | ) PACK_KEYS=1 |
|---|
| 142 | EOC |
|---|
| 143 | |
|---|
| 144 | register_tablecreate("faquses", <<'EOC'); |
|---|
| 145 | CREATE TABLE faquses ( |
|---|
| 146 | faqid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 147 | userid INT UNSIGNED NOT NULL, |
|---|
| 148 | dateview DATETIME NOT NULL, |
|---|
| 149 | PRIMARY KEY (userid, faqid), |
|---|
| 150 | KEY (faqid), |
|---|
| 151 | KEY (dateview) |
|---|
| 152 | ) |
|---|
| 153 | EOC |
|---|
| 154 | |
|---|
| 155 | register_tablecreate("friendgroup", <<'EOC'); |
|---|
| 156 | CREATE TABLE friendgroup ( |
|---|
| 157 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 158 | groupnum tinyint(3) unsigned NOT NULL default '0', |
|---|
| 159 | groupname varchar(30) NOT NULL default '', |
|---|
| 160 | sortorder tinyint(3) unsigned NOT NULL default '50', |
|---|
| 161 | is_public enum('0','1') NOT NULL default '0', |
|---|
| 162 | PRIMARY KEY (userid,groupnum) |
|---|
| 163 | ) |
|---|
| 164 | EOC |
|---|
| 165 | |
|---|
| 166 | register_tablecreate("friends", <<'EOC'); |
|---|
| 167 | CREATE TABLE friends ( |
|---|
| 168 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 169 | friendid int(10) unsigned NOT NULL default '0', |
|---|
| 170 | fgcolor char(7) default NULL, |
|---|
| 171 | bgcolor char(7) default NULL, |
|---|
| 172 | groupmask int(10) unsigned NOT NULL default '1', |
|---|
| 173 | showbydefault enum('1','0') NOT NULL default '1', |
|---|
| 174 | PRIMARY KEY (userid,friendid), |
|---|
| 175 | KEY (friendid) |
|---|
| 176 | ) |
|---|
| 177 | EOC |
|---|
| 178 | |
|---|
| 179 | register_tablecreate("interests", <<'EOC'); |
|---|
| 180 | CREATE TABLE interests ( |
|---|
| 181 | intid int(10) unsigned NOT NULL auto_increment, |
|---|
| 182 | interest varchar(255) NOT NULL default '', |
|---|
| 183 | intcount mediumint(8) unsigned default NULL, |
|---|
| 184 | PRIMARY KEY (intid), |
|---|
| 185 | KEY (interest) |
|---|
| 186 | ) |
|---|
| 187 | EOC |
|---|
| 188 | |
|---|
| 189 | register_tablecreate("keywords", <<'EOC'); |
|---|
| 190 | CREATE TABLE keywords ( |
|---|
| 191 | kwid int(10) unsigned NOT NULL auto_increment, |
|---|
| 192 | keyword varchar(80) binary NOT NULL default '', |
|---|
| 193 | PRIMARY KEY (kwid), |
|---|
| 194 | UNIQUE KEY kwidx (keyword) |
|---|
| 195 | ) |
|---|
| 196 | EOC |
|---|
| 197 | |
|---|
| 198 | register_tablecreate("log", <<'EOC'); |
|---|
| 199 | CREATE TABLE log ( |
|---|
| 200 | ownerid int(10) unsigned NOT NULL default '0', |
|---|
| 201 | posterid int(10) unsigned NOT NULL default '0', |
|---|
| 202 | eventtime datetime default NULL, |
|---|
| 203 | logtime datetime default NULL, |
|---|
| 204 | itemid int(10) unsigned NOT NULL auto_increment, |
|---|
| 205 | compressed char(1) NOT NULL default 'N', |
|---|
| 206 | security enum('public','private','usemask') NOT NULL default 'public', |
|---|
| 207 | allowmask int(10) unsigned NOT NULL default '0', |
|---|
| 208 | replycount smallint(5) unsigned default NULL, |
|---|
| 209 | year smallint(6) NOT NULL default '0', |
|---|
| 210 | month tinyint(4) NOT NULL default '0', |
|---|
| 211 | day tinyint(4) NOT NULL default '0', |
|---|
| 212 | PRIMARY KEY (itemid), |
|---|
| 213 | KEY (year,month,day), |
|---|
| 214 | KEY (ownerid,year,month,day), |
|---|
| 215 | KEY (eventtime), |
|---|
| 216 | KEY (logtime) |
|---|
| 217 | ) |
|---|
| 218 | EOC |
|---|
| 219 | |
|---|
| 220 | register_tablecreate("logaccess", <<'EOC'); |
|---|
| 221 | CREATE TABLE logaccess ( |
|---|
| 222 | ownerid int(10) unsigned NOT NULL default '0', |
|---|
| 223 | posterid int(10) unsigned NOT NULL default '0', |
|---|
| 224 | KEY (posterid), |
|---|
| 225 | PRIMARY KEY (ownerid,posterid) |
|---|
| 226 | ) |
|---|
| 227 | EOC |
|---|
| 228 | |
|---|
| 229 | register_tablecreate("logprop", <<'EOC'); |
|---|
| 230 | CREATE TABLE logprop ( |
|---|
| 231 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 232 | propid tinyint(3) unsigned NOT NULL default '0', |
|---|
| 233 | value varchar(255) default NULL, |
|---|
| 234 | PRIMARY KEY (itemid,propid) |
|---|
| 235 | ) |
|---|
| 236 | EOC |
|---|
| 237 | |
|---|
| 238 | register_tablecreate("logproplist", <<'EOC'); |
|---|
| 239 | CREATE TABLE logproplist ( |
|---|
| 240 | propid tinyint(3) unsigned NOT NULL auto_increment, |
|---|
| 241 | name varchar(50) default NULL, |
|---|
| 242 | prettyname varchar(60) default NULL, |
|---|
| 243 | sortorder mediumint(8) unsigned default NULL, |
|---|
| 244 | datatype enum('char','num','bool') NOT NULL default 'char', |
|---|
| 245 | des varchar(255) default NULL, |
|---|
| 246 | PRIMARY KEY (propid), |
|---|
| 247 | UNIQUE KEY name (name) |
|---|
| 248 | ) |
|---|
| 249 | EOC |
|---|
| 250 | |
|---|
| 251 | register_tablecreate("logsec", <<'EOC'); |
|---|
| 252 | CREATE TABLE logsec ( |
|---|
| 253 | ownerid int(10) unsigned NOT NULL default '0', |
|---|
| 254 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 255 | allowmask int(10) unsigned NOT NULL default '0', |
|---|
| 256 | PRIMARY KEY (ownerid,itemid) |
|---|
| 257 | ) |
|---|
| 258 | EOC |
|---|
| 259 | |
|---|
| 260 | register_tablecreate("logsubject", <<'EOC'); |
|---|
| 261 | CREATE TABLE logsubject ( |
|---|
| 262 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 263 | subject varchar(255) default NULL, |
|---|
| 264 | PRIMARY KEY (itemid) |
|---|
| 265 | ) |
|---|
| 266 | EOC |
|---|
| 267 | |
|---|
| 268 | register_tablecreate("logtext", <<'EOC'); |
|---|
| 269 | CREATE TABLE logtext ( |
|---|
| 270 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 271 | subject varchar(255) default NULL, |
|---|
| 272 | event text, |
|---|
| 273 | PRIMARY KEY (itemid) |
|---|
| 274 | ) |
|---|
| 275 | EOC |
|---|
| 276 | |
|---|
| 277 | register_tablecreate("memkeyword", <<'EOC'); |
|---|
| 278 | CREATE TABLE memkeyword ( |
|---|
| 279 | memid int(10) unsigned NOT NULL default '0', |
|---|
| 280 | kwid int(10) unsigned NOT NULL default '0', |
|---|
| 281 | PRIMARY KEY (memid,kwid) |
|---|
| 282 | ) |
|---|
| 283 | EOC |
|---|
| 284 | |
|---|
| 285 | register_tablecreate("memorable", <<'EOC'); |
|---|
| 286 | CREATE TABLE memorable ( |
|---|
| 287 | memid int(10) unsigned NOT NULL auto_increment, |
|---|
| 288 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 289 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 290 | des varchar(60) default NULL, |
|---|
| 291 | security enum('public','friends','private') NOT NULL default 'public', |
|---|
| 292 | PRIMARY KEY (memid), |
|---|
| 293 | UNIQUE KEY userid (userid,itemid), |
|---|
| 294 | KEY (itemid) |
|---|
| 295 | ) |
|---|
| 296 | EOC |
|---|
| 297 | |
|---|
| 298 | register_tablecreate("moods", <<'EOC'); |
|---|
| 299 | CREATE TABLE moods ( |
|---|
| 300 | moodid int(10) unsigned NOT NULL auto_increment, |
|---|
| 301 | mood varchar(40) default NULL, |
|---|
| 302 | parentmood int(10) unsigned NOT NULL default '0', |
|---|
| 303 | PRIMARY KEY (moodid), |
|---|
| 304 | UNIQUE KEY mood (mood) |
|---|
| 305 | ) |
|---|
| 306 | EOC |
|---|
| 307 | |
|---|
| 308 | register_tablecreate("moodthemedata", <<'EOC'); |
|---|
| 309 | CREATE TABLE moodthemedata ( |
|---|
| 310 | moodthemeid int(10) unsigned NOT NULL default '0', |
|---|
| 311 | moodid int(10) unsigned NOT NULL default '0', |
|---|
| 312 | picurl varchar(100) default NULL, |
|---|
| 313 | width tinyint(3) unsigned NOT NULL default '0', |
|---|
| 314 | height tinyint(3) unsigned NOT NULL default '0', |
|---|
| 315 | KEY (moodthemeid), |
|---|
| 316 | PRIMARY KEY (moodthemeid,moodid) |
|---|
| 317 | ) |
|---|
| 318 | EOC |
|---|
| 319 | |
|---|
| 320 | register_tablecreate("moodthemes", <<'EOC'); |
|---|
| 321 | CREATE TABLE moodthemes ( |
|---|
| 322 | moodthemeid int(10) unsigned NOT NULL auto_increment, |
|---|
| 323 | ownerid int(10) unsigned NOT NULL default '0', |
|---|
| 324 | name varchar(50) default NULL, |
|---|
| 325 | des varchar(100) default NULL, |
|---|
| 326 | is_public enum('Y','N') NOT NULL default 'N', |
|---|
| 327 | PRIMARY KEY (moodthemeid), |
|---|
| 328 | KEY (is_public), |
|---|
| 329 | KEY (ownerid) |
|---|
| 330 | ) |
|---|
| 331 | EOC |
|---|
| 332 | |
|---|
| 333 | register_tablecreate("news_sent", <<'EOC'); |
|---|
| 334 | CREATE TABLE news_sent ( |
|---|
| 335 | newsid int(10) unsigned NOT NULL auto_increment, |
|---|
| 336 | newsnum mediumint(8) unsigned NOT NULL default '0', |
|---|
| 337 | user varchar(15) NOT NULL default '', |
|---|
| 338 | datesent datetime default NULL, |
|---|
| 339 | email varchar(100) NOT NULL default '', |
|---|
| 340 | PRIMARY KEY (newsid), |
|---|
| 341 | KEY (newsnum), |
|---|
| 342 | KEY (user), |
|---|
| 343 | KEY (email) |
|---|
| 344 | ) PACK_KEYS=1 |
|---|
| 345 | EOC |
|---|
| 346 | |
|---|
| 347 | register_tablecreate("noderefs", <<'EOC'); |
|---|
| 348 | CREATE TABLE noderefs ( |
|---|
| 349 | nodetype char(1) NOT NULL default '', |
|---|
| 350 | nodeid int(10) unsigned NOT NULL default '0', |
|---|
| 351 | urlmd5 varchar(32) NOT NULL default '', |
|---|
| 352 | url varchar(120) NOT NULL default '', |
|---|
| 353 | PRIMARY KEY (nodetype,nodeid,urlmd5) |
|---|
| 354 | ) |
|---|
| 355 | EOC |
|---|
| 356 | |
|---|
| 357 | register_tablecreate("overrides", <<'EOC'); |
|---|
| 358 | CREATE TABLE overrides ( |
|---|
| 359 | user varchar(15) NOT NULL default '', |
|---|
| 360 | override text, |
|---|
| 361 | PRIMARY KEY (user) |
|---|
| 362 | ) |
|---|
| 363 | EOC |
|---|
| 364 | |
|---|
| 365 | register_tablecreate("poll", <<'EOC'); |
|---|
| 366 | CREATE TABLE poll ( |
|---|
| 367 | pollid int(10) unsigned NOT NULL auto_increment, |
|---|
| 368 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 369 | journalid int(10) unsigned NOT NULL default '0', |
|---|
| 370 | posterid int(10) unsigned NOT NULL default '0', |
|---|
| 371 | whovote enum('all','friends') NOT NULL default 'all', |
|---|
| 372 | whoview enum('all','friends','none') NOT NULL default 'all', |
|---|
| 373 | name varchar(255) default NULL, |
|---|
| 374 | PRIMARY KEY (pollid), |
|---|
| 375 | KEY (itemid), |
|---|
| 376 | KEY (journalid), |
|---|
| 377 | KEY (posterid) |
|---|
| 378 | ) |
|---|
| 379 | EOC |
|---|
| 380 | |
|---|
| 381 | register_tablecreate("pollitem", <<'EOC'); |
|---|
| 382 | CREATE TABLE pollitem ( |
|---|
| 383 | pollid int(10) unsigned NOT NULL default '0', |
|---|
| 384 | pollqid tinyint(3) unsigned NOT NULL default '0', |
|---|
| 385 | pollitid tinyint(3) unsigned NOT NULL default '0', |
|---|
| 386 | sortorder tinyint(3) unsigned NOT NULL default '0', |
|---|
| 387 | item varchar(255) default NULL, |
|---|
| 388 | PRIMARY KEY (pollid,pollqid,pollitid) |
|---|
| 389 | ) |
|---|
| 390 | EOC |
|---|
| 391 | |
|---|
| 392 | register_tablecreate("pollquestion", <<'EOC'); |
|---|
| 393 | CREATE TABLE pollquestion ( |
|---|
| 394 | pollid int(10) unsigned NOT NULL default '0', |
|---|
| 395 | pollqid tinyint(3) unsigned NOT NULL default '0', |
|---|
| 396 | sortorder tinyint(3) unsigned NOT NULL default '0', |
|---|
| 397 | type enum('check','radio','drop','text','scale') default NULL, |
|---|
| 398 | opts varchar(20) default NULL, |
|---|
| 399 | qtext text, |
|---|
| 400 | PRIMARY KEY (pollid,pollqid) |
|---|
| 401 | ) |
|---|
| 402 | EOC |
|---|
| 403 | |
|---|
| 404 | register_tablecreate("pollresult", <<'EOC'); |
|---|
| 405 | CREATE TABLE pollresult ( |
|---|
| 406 | pollid int(10) unsigned NOT NULL default '0', |
|---|
| 407 | pollqid tinyint(3) unsigned NOT NULL default '0', |
|---|
| 408 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 409 | value varchar(255) default NULL, |
|---|
| 410 | PRIMARY KEY (pollid,pollqid,userid), |
|---|
| 411 | KEY (pollid,userid) |
|---|
| 412 | ) |
|---|
| 413 | EOC |
|---|
| 414 | |
|---|
| 415 | register_tablecreate("pollsubmission", <<'EOC'); |
|---|
| 416 | CREATE TABLE pollsubmission ( |
|---|
| 417 | pollid int(10) unsigned NOT NULL default '0', |
|---|
| 418 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 419 | datesubmit datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 420 | PRIMARY KEY (pollid,userid), |
|---|
| 421 | KEY (userid) |
|---|
| 422 | ) |
|---|
| 423 | EOC |
|---|
| 424 | |
|---|
| 425 | register_tablecreate("priv_list", <<'EOC'); |
|---|
| 426 | CREATE TABLE priv_list ( |
|---|
| 427 | prlid smallint(5) unsigned NOT NULL auto_increment, |
|---|
| 428 | privcode varchar(20) NOT NULL default '', |
|---|
| 429 | privname varchar(40) default NULL, |
|---|
| 430 | des varchar(255) default NULL, |
|---|
| 431 | is_public ENUM('1', '0') DEFAULT '1' NOT NULL, |
|---|
| 432 | PRIMARY KEY (prlid), |
|---|
| 433 | UNIQUE KEY privcode (privcode) |
|---|
| 434 | ) |
|---|
| 435 | EOC |
|---|
| 436 | |
|---|
| 437 | register_tablecreate("priv_map", <<'EOC'); |
|---|
| 438 | CREATE TABLE priv_map ( |
|---|
| 439 | prmid mediumint(8) unsigned NOT NULL auto_increment, |
|---|
| 440 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 441 | prlid smallint(5) unsigned NOT NULL default '0', |
|---|
| 442 | arg varchar(40) default NULL, |
|---|
| 443 | PRIMARY KEY (prmid), |
|---|
| 444 | KEY (userid), |
|---|
| 445 | KEY (prlid) |
|---|
| 446 | ) |
|---|
| 447 | EOC |
|---|
| 448 | |
|---|
| 449 | register_tablecreate("querybuffer", <<'EOC'); |
|---|
| 450 | CREATE TABLE querybuffer ( |
|---|
| 451 | qbid int(10) unsigned NOT NULL auto_increment, |
|---|
| 452 | tablename varchar(30) NOT NULL default '', |
|---|
| 453 | instime datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 454 | query text NOT NULL, |
|---|
| 455 | PRIMARY KEY (qbid), |
|---|
| 456 | KEY (tablename) |
|---|
| 457 | ) |
|---|
| 458 | EOC |
|---|
| 459 | |
|---|
| 460 | register_tablecreate("cmdbuffer", <<'EOC'); |
|---|
| 461 | CREATE TABLE cmdbuffer ( |
|---|
| 462 | cbid INT UNSIGNED NOT NULL AUTO_INCREMENT, |
|---|
| 463 | journalid INT UNSIGNED NOT NULL, |
|---|
| 464 | cmd VARCHAR(30) NOT NULL default '', |
|---|
| 465 | instime datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 466 | args TEXT NOT NULL, |
|---|
| 467 | PRIMARY KEY (cbid), |
|---|
| 468 | KEY (cmd), |
|---|
| 469 | KEY (journalid) |
|---|
| 470 | ) |
|---|
| 471 | EOC |
|---|
| 472 | |
|---|
| 473 | register_tablecreate("randomuserset", <<'EOC'); |
|---|
| 474 | CREATE TABLE randomuserset ( |
|---|
| 475 | rid INT UNSIGNED NOT NULL AUTO_INCREMENT, |
|---|
| 476 | userid INT UNSIGNED NOT NULL, |
|---|
| 477 | PRIMARY KEY (rid) |
|---|
| 478 | ) |
|---|
| 479 | EOC |
|---|
| 480 | |
|---|
| 481 | register_tablecreate("schemacols", <<'EOC'); |
|---|
| 482 | CREATE TABLE schemacols ( |
|---|
| 483 | tablename varchar(40) NOT NULL default '', |
|---|
| 484 | colname varchar(40) NOT NULL default '', |
|---|
| 485 | des varchar(255) default NULL, |
|---|
| 486 | PRIMARY KEY (tablename,colname) |
|---|
| 487 | ) |
|---|
| 488 | EOC |
|---|
| 489 | |
|---|
| 490 | register_tablecreate("schematables", <<'EOC'); |
|---|
| 491 | CREATE TABLE schematables ( |
|---|
| 492 | tablename varchar(40) NOT NULL default '', |
|---|
| 493 | public_browsable enum('0','1') NOT NULL default '0', |
|---|
| 494 | redist_mode enum('off','insert','replace') NOT NULL default 'off', |
|---|
| 495 | des text, |
|---|
| 496 | PRIMARY KEY (tablename) |
|---|
| 497 | ) |
|---|
| 498 | EOC |
|---|
| 499 | |
|---|
| 500 | register_tablecreate("stats", <<'EOC'); |
|---|
| 501 | CREATE TABLE stats ( |
|---|
| 502 | statcat varchar(30) NOT NULL, |
|---|
| 503 | statkey varchar(150) NOT NULL, |
|---|
| 504 | statval int(10) unsigned NOT NULL, |
|---|
| 505 | UNIQUE KEY statcat_2 (statcat,statkey) |
|---|
| 506 | ) |
|---|
| 507 | EOC |
|---|
| 508 | |
|---|
| 509 | register_tablecreate("style", <<'EOC'); |
|---|
| 510 | CREATE TABLE style ( |
|---|
| 511 | styleid int(11) NOT NULL auto_increment, |
|---|
| 512 | user varchar(15) NOT NULL default '', |
|---|
| 513 | styledes varchar(50) default NULL, |
|---|
| 514 | type varchar(10) NOT NULL default '', |
|---|
| 515 | formatdata text, |
|---|
| 516 | is_public enum('Y','N') NOT NULL default 'N', |
|---|
| 517 | is_embedded enum('Y','N') NOT NULL default 'N', |
|---|
| 518 | is_colorfree enum('Y','N') NOT NULL default 'N', |
|---|
| 519 | opt_cache enum('Y','N') NOT NULL default 'N', |
|---|
| 520 | has_ads enum('Y','N') NOT NULL default 'N', |
|---|
| 521 | lastupdate datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 522 | PRIMARY KEY (styleid), |
|---|
| 523 | KEY (user), |
|---|
| 524 | KEY (type) |
|---|
| 525 | ) PACK_KEYS=1 |
|---|
| 526 | EOC |
|---|
| 527 | |
|---|
| 528 | register_tablecreate("support", <<'EOC'); |
|---|
| 529 | CREATE TABLE support ( |
|---|
| 530 | spid int(10) unsigned NOT NULL auto_increment, |
|---|
| 531 | reqtype enum('user','email') default NULL, |
|---|
| 532 | requserid int(10) unsigned NOT NULL default '0', |
|---|
| 533 | reqname varchar(50) default NULL, |
|---|
| 534 | reqemail varchar(70) default NULL, |
|---|
| 535 | state enum('open','closed') default NULL, |
|---|
| 536 | authcode varchar(15) NOT NULL default '', |
|---|
| 537 | spcatid int(10) unsigned NOT NULL default '0', |
|---|
| 538 | subject varchar(80) default NULL, |
|---|
| 539 | timecreate int(10) unsigned default NULL, |
|---|
| 540 | timetouched int(10) unsigned default NULL, |
|---|
| 541 | timeclosed int(10) unsigned default NULL, |
|---|
| 542 | PRIMARY KEY (spid), |
|---|
| 543 | KEY (state) |
|---|
| 544 | ) |
|---|
| 545 | EOC |
|---|
| 546 | |
|---|
| 547 | register_tablecreate("supportcat", <<'EOC'); |
|---|
| 548 | CREATE TABLE supportcat ( |
|---|
| 549 | spcatid int(10) unsigned NOT NULL auto_increment, |
|---|
| 550 | catname varchar(80) default NULL, |
|---|
| 551 | sortorder mediumint(8) unsigned NOT NULL default '0', |
|---|
| 552 | basepoints tinyint(3) unsigned NOT NULL default '1', |
|---|
| 553 | PRIMARY KEY (spcatid) |
|---|
| 554 | ) |
|---|
| 555 | EOC |
|---|
| 556 | |
|---|
| 557 | register_tablecreate("supportlog", <<'EOC'); |
|---|
| 558 | CREATE TABLE supportlog ( |
|---|
| 559 | splid int(10) unsigned NOT NULL auto_increment, |
|---|
| 560 | spid int(10) unsigned NOT NULL default '0', |
|---|
| 561 | timelogged int(10) unsigned NOT NULL default '0', |
|---|
| 562 | type enum('req','custom','faqref') default NULL, |
|---|
| 563 | faqid mediumint(8) unsigned NOT NULL default '0', |
|---|
| 564 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 565 | message text, |
|---|
| 566 | PRIMARY KEY (splid), |
|---|
| 567 | KEY (spid) |
|---|
| 568 | ) |
|---|
| 569 | EOC |
|---|
| 570 | |
|---|
| 571 | register_tablecreate("supportnotify", <<'EOC'); |
|---|
| 572 | CREATE TABLE supportnotify ( |
|---|
| 573 | spcatid int(10) unsigned NOT NULL default '0', |
|---|
| 574 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 575 | level enum('all','new') default NULL, |
|---|
| 576 | KEY (spcatid), |
|---|
| 577 | KEY (userid), |
|---|
| 578 | PRIMARY KEY (spcatid,userid) |
|---|
| 579 | ) |
|---|
| 580 | EOC |
|---|
| 581 | |
|---|
| 582 | register_tablecreate("supportpoints", <<'EOC'); |
|---|
| 583 | CREATE TABLE supportpoints ( |
|---|
| 584 | spid int(10) unsigned NOT NULL default '0', |
|---|
| 585 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 586 | points tinyint(3) unsigned default NULL, |
|---|
| 587 | KEY (spid), |
|---|
| 588 | KEY (userid) |
|---|
| 589 | ) |
|---|
| 590 | EOC |
|---|
| 591 | |
|---|
| 592 | register_tablecreate("syncupdates", <<'EOC'); |
|---|
| 593 | CREATE TABLE syncupdates ( |
|---|
| 594 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 595 | atime datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 596 | nodetype char(1) NOT NULL default '', |
|---|
| 597 | nodeid int(10) unsigned NOT NULL default '0', |
|---|
| 598 | atype enum('create','update') NOT NULL default 'create', |
|---|
| 599 | PRIMARY KEY (userid,nodetype,nodeid), |
|---|
| 600 | KEY (userid,atime) |
|---|
| 601 | ) |
|---|
| 602 | EOC |
|---|
| 603 | |
|---|
| 604 | register_tablecreate("syncupdates2", <<'EOC'); |
|---|
| 605 | CREATE TABLE syncupdates2 ( |
|---|
| 606 | userid INT UNSIGNED NOT NULL, |
|---|
| 607 | atime DATETIME NOT NULL, |
|---|
| 608 | nodetype CHAR(1) NOT NULL, |
|---|
| 609 | nodeid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 610 | atype ENUM('create','update','del') NOT NULL DEFAULT 'create', |
|---|
| 611 | PRIMARY KEY (userid,nodetype,nodeid), |
|---|
| 612 | KEY (userid,atime) |
|---|
| 613 | ) |
|---|
| 614 | EOC |
|---|
| 615 | |
|---|
| 616 | register_tablecreate("talk", <<'EOC'); |
|---|
| 617 | CREATE TABLE talk ( |
|---|
| 618 | talkid int(10) unsigned NOT NULL auto_increment, |
|---|
| 619 | nodetype char(1) NOT NULL default '', |
|---|
| 620 | nodeid int(10) unsigned NOT NULL default '0', |
|---|
| 621 | parenttalkid int(10) unsigned NOT NULL default '0', |
|---|
| 622 | journalid int(10) unsigned NOT NULL default '0', |
|---|
| 623 | posterid int(10) unsigned NOT NULL default '0', |
|---|
| 624 | datepost datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 625 | state char(1) default 'A', |
|---|
| 626 | PRIMARY KEY (talkid), |
|---|
| 627 | KEY (nodetype,nodeid), |
|---|
| 628 | KEY (journalid,state,nodetype), |
|---|
| 629 | KEY (posterid,nodetype) |
|---|
| 630 | ) |
|---|
| 631 | EOC |
|---|
| 632 | |
|---|
| 633 | register_tablecreate("talkprop", <<'EOC'); |
|---|
| 634 | CREATE TABLE talkprop ( |
|---|
| 635 | talkid int(10) unsigned NOT NULL default '0', |
|---|
| 636 | tpropid tinyint(3) unsigned NOT NULL default '0', |
|---|
| 637 | value varchar(255) default NULL, |
|---|
| 638 | PRIMARY KEY (talkid,tpropid) |
|---|
| 639 | ) |
|---|
| 640 | EOC |
|---|
| 641 | |
|---|
| 642 | register_tablecreate("talkproplist", <<'EOC'); |
|---|
| 643 | CREATE TABLE talkproplist ( |
|---|
| 644 | tpropid smallint(5) unsigned NOT NULL auto_increment, |
|---|
| 645 | name varchar(50) default NULL, |
|---|
| 646 | prettyname varchar(60) default NULL, |
|---|
| 647 | datatype enum('char','num','bool') NOT NULL default 'char', |
|---|
| 648 | des varchar(255) default NULL, |
|---|
| 649 | PRIMARY KEY (tpropid), |
|---|
| 650 | UNIQUE KEY name (name) |
|---|
| 651 | ) |
|---|
| 652 | EOC |
|---|
| 653 | |
|---|
| 654 | register_tablecreate("talktext", <<'EOC'); |
|---|
| 655 | CREATE TABLE talktext ( |
|---|
| 656 | talkid int(10) unsigned NOT NULL default '0', |
|---|
| 657 | subject varchar(100) default NULL, |
|---|
| 658 | body text, |
|---|
| 659 | PRIMARY KEY (talkid) |
|---|
| 660 | ) |
|---|
| 661 | EOC |
|---|
| 662 | |
|---|
| 663 | register_tablecreate("themecoltypes", <<'EOC'); |
|---|
| 664 | CREATE TABLE themecoltypes ( |
|---|
| 665 | coltype varchar(30) NOT NULL default '', |
|---|
| 666 | des varchar(100) default NULL, |
|---|
| 667 | sortorder smallint(5) unsigned default NULL, |
|---|
| 668 | PRIMARY KEY (coltype) |
|---|
| 669 | ) PACK_KEYS=1 |
|---|
| 670 | EOC |
|---|
| 671 | |
|---|
| 672 | register_tablecreate("themecustom", <<'EOC'); |
|---|
| 673 | CREATE TABLE themecustom ( |
|---|
| 674 | user varchar(15) NOT NULL default '', |
|---|
| 675 | coltype varchar(30) default NULL, |
|---|
| 676 | color varchar(30) default NULL, |
|---|
| 677 | KEY (user) |
|---|
| 678 | ) PACK_KEYS=1 |
|---|
| 679 | EOC |
|---|
| 680 | |
|---|
| 681 | register_tablecreate("themedata", <<'EOC'); |
|---|
| 682 | CREATE TABLE themedata ( |
|---|
| 683 | themeid mediumint(8) unsigned NOT NULL default '0', |
|---|
| 684 | coltype varchar(30) default NULL, |
|---|
| 685 | color varchar(30) default NULL, |
|---|
| 686 | KEY (themeid) |
|---|
| 687 | ) PACK_KEYS=1 |
|---|
| 688 | EOC |
|---|
| 689 | |
|---|
| 690 | register_tablecreate("themelist", <<'EOC'); |
|---|
| 691 | CREATE TABLE themelist ( |
|---|
| 692 | themeid mediumint(8) unsigned NOT NULL auto_increment, |
|---|
| 693 | name varchar(50) NOT NULL default '', |
|---|
| 694 | PRIMARY KEY (themeid) |
|---|
| 695 | ) |
|---|
| 696 | EOC |
|---|
| 697 | |
|---|
| 698 | register_tablecreate("todo", <<'EOC'); |
|---|
| 699 | CREATE TABLE todo ( |
|---|
| 700 | todoid int(10) unsigned NOT NULL auto_increment, |
|---|
| 701 | journalid int(10) unsigned NOT NULL default '0', |
|---|
| 702 | posterid int(10) unsigned NOT NULL default '0', |
|---|
| 703 | ownerid int(10) unsigned NOT NULL default '0', |
|---|
| 704 | statusline varchar(40) default NULL, |
|---|
| 705 | security enum('public','private','friends') NOT NULL default 'public', |
|---|
| 706 | subject varchar(100) default NULL, |
|---|
| 707 | des varchar(255) default NULL, |
|---|
| 708 | priority enum('1','2','3','4','5') NOT NULL default '3', |
|---|
| 709 | datecreate datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 710 | dateupdate datetime default NULL, |
|---|
| 711 | datedue datetime default NULL, |
|---|
| 712 | dateclosed datetime default NULL, |
|---|
| 713 | progress tinyint(3) unsigned NOT NULL default '0', |
|---|
| 714 | PRIMARY KEY (todoid), |
|---|
| 715 | KEY (journalid), |
|---|
| 716 | KEY (posterid), |
|---|
| 717 | KEY (ownerid) |
|---|
| 718 | ) |
|---|
| 719 | EOC |
|---|
| 720 | |
|---|
| 721 | register_tablecreate("tododep", <<'EOC'); |
|---|
| 722 | CREATE TABLE tododep ( |
|---|
| 723 | todoid int(10) unsigned NOT NULL default '0', |
|---|
| 724 | depid int(10) unsigned NOT NULL default '0', |
|---|
| 725 | PRIMARY KEY (todoid,depid), |
|---|
| 726 | KEY (depid) |
|---|
| 727 | ) |
|---|
| 728 | EOC |
|---|
| 729 | |
|---|
| 730 | register_tablecreate("todokeyword", <<'EOC'); |
|---|
| 731 | CREATE TABLE todokeyword ( |
|---|
| 732 | todoid int(10) unsigned NOT NULL default '0', |
|---|
| 733 | kwid int(10) unsigned NOT NULL default '0', |
|---|
| 734 | PRIMARY KEY (todoid,kwid) |
|---|
| 735 | ) |
|---|
| 736 | EOC |
|---|
| 737 | |
|---|
| 738 | register_tablecreate("topic_cats", <<'EOC'); |
|---|
| 739 | CREATE TABLE topic_cats ( |
|---|
| 740 | tpcatid smallint(5) unsigned NOT NULL auto_increment, |
|---|
| 741 | parent smallint(5) unsigned NOT NULL default '0', |
|---|
| 742 | catname varchar(80) default NULL, |
|---|
| 743 | status enum('on','off') NOT NULL default 'off', |
|---|
| 744 | topicsort enum('alpha','date') NOT NULL default 'alpha', |
|---|
| 745 | PRIMARY KEY (tpcatid), |
|---|
| 746 | KEY (parent) |
|---|
| 747 | ) |
|---|
| 748 | EOC |
|---|
| 749 | |
|---|
| 750 | register_tablecreate("topic_list", <<'EOC'); |
|---|
| 751 | CREATE TABLE topic_list ( |
|---|
| 752 | tptopid mediumint(8) unsigned NOT NULL auto_increment, |
|---|
| 753 | tpcatid smallint(5) unsigned NOT NULL default '0', |
|---|
| 754 | topname varchar(80) NOT NULL default '', |
|---|
| 755 | des varchar(255) default NULL, |
|---|
| 756 | timeenter int(10) unsigned NOT NULL default '0', |
|---|
| 757 | timeexpire int(10) unsigned default NULL, |
|---|
| 758 | status enum('new','on','off','deny') NOT NULL default 'new', |
|---|
| 759 | PRIMARY KEY (tptopid), |
|---|
| 760 | KEY (tpcatid), |
|---|
| 761 | KEY (status) |
|---|
| 762 | ) |
|---|
| 763 | EOC |
|---|
| 764 | |
|---|
| 765 | register_tablecreate("topic_map", <<'EOC'); |
|---|
| 766 | CREATE TABLE topic_map ( |
|---|
| 767 | tpmapid int(10) unsigned NOT NULL auto_increment, |
|---|
| 768 | tptopid mediumint(8) unsigned NOT NULL default '0', |
|---|
| 769 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 770 | status enum('new','on','off','deny') NOT NULL default 'new', |
|---|
| 771 | screendate datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 772 | screenuserid int(10) unsigned NOT NULL default '0', |
|---|
| 773 | PRIMARY KEY (tpmapid), |
|---|
| 774 | KEY (tptopid), |
|---|
| 775 | KEY (status), |
|---|
| 776 | UNIQUE KEY tptopid_2 (tptopid,itemid), |
|---|
| 777 | KEY (screendate), |
|---|
| 778 | KEY (itemid) |
|---|
| 779 | ) |
|---|
| 780 | EOC |
|---|
| 781 | |
|---|
| 782 | register_tablecreate("tracking", <<'EOC'); |
|---|
| 783 | CREATE TABLE tracking ( |
|---|
| 784 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 785 | acttime datetime default NULL, |
|---|
| 786 | ip char(15) default NULL, |
|---|
| 787 | actdes char(10) default NULL, |
|---|
| 788 | associd int(10) unsigned NOT NULL default '0', |
|---|
| 789 | KEY (userid) |
|---|
| 790 | ) |
|---|
| 791 | EOC |
|---|
| 792 | |
|---|
| 793 | register_tablecreate("txtmsg", <<'EOC'); |
|---|
| 794 | CREATE TABLE txtmsg ( |
|---|
| 795 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 796 | provider varchar(25) default NULL, |
|---|
| 797 | number varchar(60) default NULL, |
|---|
| 798 | security enum('all','reg','friends') NOT NULL default 'all', |
|---|
| 799 | PRIMARY KEY (userid) |
|---|
| 800 | ) |
|---|
| 801 | EOC |
|---|
| 802 | |
|---|
| 803 | register_tablecreate("user", <<'EOC'); |
|---|
| 804 | CREATE TABLE user ( |
|---|
| 805 | userid int(10) unsigned NOT NULL auto_increment, |
|---|
| 806 | user char(15) default NULL, |
|---|
| 807 | caps SMALLINT UNSIGNED NOT NULL DEFAULT 0, |
|---|
| 808 | email char(50) default NULL, |
|---|
| 809 | password char(30) default NULL, |
|---|
| 810 | status char(1) NOT NULL default 'N', |
|---|
| 811 | statusvis char(1) NOT NULL default 'V', |
|---|
| 812 | statusvisdate datetime default NULL, |
|---|
| 813 | name char(50) default NULL, |
|---|
| 814 | bdate date default NULL, |
|---|
| 815 | themeid int(11) NOT NULL default '1', |
|---|
| 816 | moodthemeid int(10) unsigned NOT NULL default '1', |
|---|
| 817 | opt_forcemoodtheme enum('Y','N') NOT NULL default 'N', |
|---|
| 818 | allow_infoshow char(1) NOT NULL default 'Y', |
|---|
| 819 | allow_contactshow char(1) NOT NULL default 'Y', |
|---|
| 820 | allow_getljnews char(1) NOT NULL default 'N', |
|---|
| 821 | opt_showtalklinks char(1) NOT NULL default 'Y', |
|---|
| 822 | opt_whocanreply enum('all','reg','friends') NOT NULL default 'all', |
|---|
| 823 | opt_gettalkemail char(1) NOT NULL default 'Y', |
|---|
| 824 | opt_htmlemail enum('Y','N') NOT NULL default 'Y', |
|---|
| 825 | opt_mangleemail char(1) NOT NULL default 'N', |
|---|
| 826 | useoverrides char(1) NOT NULL default 'N', |
|---|
| 827 | defaultpicid int(10) unsigned default NULL, |
|---|
| 828 | has_bio enum('Y','N') NOT NULL default 'N', |
|---|
| 829 | txtmsg_status enum('none','on','off') NOT NULL default 'none', |
|---|
| 830 | track enum('no','yes') NOT NULL default 'no', |
|---|
| 831 | is_system enum('Y','N') NOT NULL default 'N', |
|---|
| 832 | journaltype enum('P','N','C','S') NOT NULL default 'P', |
|---|
| 833 | lang char(2) NOT NULL default 'EN', |
|---|
| 834 | PRIMARY KEY (userid), |
|---|
| 835 | UNIQUE KEY user (user), |
|---|
| 836 | KEY (email), |
|---|
| 837 | KEY (status), |
|---|
| 838 | KEY (statusvis) |
|---|
| 839 | ) PACK_KEYS=1 |
|---|
| 840 | EOC |
|---|
| 841 | |
|---|
| 842 | register_tablecreate("userbio", <<'EOC'); |
|---|
| 843 | CREATE TABLE userbio ( |
|---|
| 844 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 845 | bio text, |
|---|
| 846 | PRIMARY KEY (userid) |
|---|
| 847 | ) |
|---|
| 848 | EOC |
|---|
| 849 | |
|---|
| 850 | register_tablecreate("userinterests", <<'EOC'); |
|---|
| 851 | CREATE TABLE userinterests ( |
|---|
| 852 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 853 | intid int(10) unsigned NOT NULL default '0', |
|---|
| 854 | PRIMARY KEY (userid,intid), |
|---|
| 855 | KEY (intid) |
|---|
| 856 | ) |
|---|
| 857 | EOC |
|---|
| 858 | |
|---|
| 859 | register_tablecreate("userpic", <<'EOC'); |
|---|
| 860 | CREATE TABLE userpic ( |
|---|
| 861 | picid int(10) unsigned NOT NULL auto_increment, |
|---|
| 862 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 863 | contenttype char(25) default NULL, |
|---|
| 864 | width smallint(6) NOT NULL default '0', |
|---|
| 865 | height smallint(6) NOT NULL default '0', |
|---|
| 866 | state char(1) NOT NULL default 'N', |
|---|
| 867 | picdate datetime default NULL, |
|---|
| 868 | md5base64 char(22) NOT NULL default '', |
|---|
| 869 | PRIMARY KEY (picid), |
|---|
| 870 | KEY (userid), |
|---|
| 871 | KEY (state) |
|---|
| 872 | ) |
|---|
| 873 | EOC |
|---|
| 874 | |
|---|
| 875 | register_tablecreate("userpicblob", <<'EOC'); |
|---|
| 876 | CREATE TABLE userpicblob ( |
|---|
| 877 | picid int(10) unsigned NOT NULL auto_increment, |
|---|
| 878 | imagedata blob, |
|---|
| 879 | PRIMARY KEY (picid) |
|---|
| 880 | ) |
|---|
| 881 | EOC |
|---|
| 882 | |
|---|
| 883 | register_tablecreate("userpicblob2", <<'EOC'); |
|---|
| 884 | CREATE TABLE userpicblob2 ( |
|---|
| 885 | userid int unsigned not null, |
|---|
| 886 | picid int unsigned not null, |
|---|
| 887 | imagedata blob, |
|---|
| 888 | PRIMARY KEY (userid, picid) |
|---|
| 889 | ) |
|---|
| 890 | EOC |
|---|
| 891 | |
|---|
| 892 | register_tablecreate("userpicmap", <<'EOC'); |
|---|
| 893 | CREATE TABLE userpicmap ( |
|---|
| 894 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 895 | kwid int(10) unsigned NOT NULL default '0', |
|---|
| 896 | picid int(10) unsigned NOT NULL default '0', |
|---|
| 897 | PRIMARY KEY (userid,kwid) |
|---|
| 898 | ) |
|---|
| 899 | EOC |
|---|
| 900 | |
|---|
| 901 | register_tablecreate("userprop", <<'EOC'); |
|---|
| 902 | CREATE TABLE userprop ( |
|---|
| 903 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 904 | upropid smallint(5) unsigned NOT NULL default '0', |
|---|
| 905 | value varchar(60) default NULL, |
|---|
| 906 | PRIMARY KEY (userid,upropid), |
|---|
| 907 | KEY (upropid,value) |
|---|
| 908 | ) |
|---|
| 909 | EOC |
|---|
| 910 | |
|---|
| 911 | register_tablecreate("userproplist", <<'EOC'); |
|---|
| 912 | CREATE TABLE userproplist ( |
|---|
| 913 | upropid smallint(5) unsigned NOT NULL auto_increment, |
|---|
| 914 | name varchar(50) default NULL, |
|---|
| 915 | indexed enum('1','0') NOT NULL default '1', |
|---|
| 916 | prettyname varchar(60) default NULL, |
|---|
| 917 | datatype enum('char','num','bool') NOT NULL default 'char', |
|---|
| 918 | des varchar(255) default NULL, |
|---|
| 919 | PRIMARY KEY (upropid), |
|---|
| 920 | UNIQUE KEY name (name) |
|---|
| 921 | ) |
|---|
| 922 | EOC |
|---|
| 923 | |
|---|
| 924 | register_tablecreate("userproplite", <<'EOC'); |
|---|
| 925 | CREATE TABLE userproplite ( |
|---|
| 926 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 927 | upropid smallint(5) unsigned NOT NULL default '0', |
|---|
| 928 | value varchar(255) default NULL, |
|---|
| 929 | PRIMARY KEY (userid,upropid), |
|---|
| 930 | KEY (upropid) |
|---|
| 931 | ) |
|---|
| 932 | EOC |
|---|
| 933 | |
|---|
| 934 | register_tablecreate("zip", <<'EOC'); |
|---|
| 935 | CREATE TABLE zip ( |
|---|
| 936 | zip varchar(5) NOT NULL default '', |
|---|
| 937 | state char(2) NOT NULL default '', |
|---|
| 938 | city varchar(100) NOT NULL default '', |
|---|
| 939 | PRIMARY KEY (zip), |
|---|
| 940 | KEY (state) |
|---|
| 941 | ) PACK_KEYS=1 |
|---|
| 942 | EOC |
|---|
| 943 | |
|---|
| 944 | register_tablecreate("zips", <<'EOC'); |
|---|
| 945 | CREATE TABLE zips ( |
|---|
| 946 | FIPS char(2) default NULL, |
|---|
| 947 | zip varchar(5) NOT NULL default '', |
|---|
| 948 | State char(2) NOT NULL default '', |
|---|
| 949 | Name varchar(30) NOT NULL default '', |
|---|
| 950 | alloc float(9,7) NOT NULL default '0.0000000', |
|---|
| 951 | pop1990 int(11) NOT NULL default '0', |
|---|
| 952 | lon float(10,7) NOT NULL default '0.0000000', |
|---|
| 953 | lat float(10,7) NOT NULL default '0.0000000', |
|---|
| 954 | PRIMARY KEY (zip) |
|---|
| 955 | ) |
|---|
| 956 | EOC |
|---|
| 957 | |
|---|
| 958 | ################# above was a snapshot. now, changes: |
|---|
| 959 | |
|---|
| 960 | register_tablecreate("recent_logtext", <<'EOC'); |
|---|
| 961 | CREATE TABLE recent_logtext ( |
|---|
| 962 | itemid int(10) unsigned NOT NULL default '0', |
|---|
| 963 | subject varchar(255) default NULL, |
|---|
| 964 | event text, |
|---|
| 965 | PRIMARY KEY (itemid) |
|---|
| 966 | ) |
|---|
| 967 | EOC |
|---|
| 968 | |
|---|
| 969 | register_tablecreate("recent_talktext", <<'EOC'); |
|---|
| 970 | CREATE TABLE recent_talktext ( |
|---|
| 971 | talkid int(10) unsigned NOT NULL default '0', |
|---|
| 972 | subject varchar(100) default NULL, |
|---|
| 973 | body text, |
|---|
| 974 | PRIMARY KEY (talkid) |
|---|
| 975 | ) |
|---|
| 976 | EOC |
|---|
| 977 | |
|---|
| 978 | register_tablecreate("log2", <<'EOC'); |
|---|
| 979 | CREATE TABLE log2 ( |
|---|
| 980 | journalid INT UNSIGNED NOT NULL default '0', |
|---|
| 981 | jitemid MEDIUMINT UNSIGNED NOT NULL auto_increment, |
|---|
| 982 | PRIMARY KEY (journalid, jitemid), |
|---|
| 983 | posterid int(10) unsigned NOT NULL default '0', |
|---|
| 984 | eventtime datetime default NULL, |
|---|
| 985 | logtime datetime default NULL, |
|---|
| 986 | compressed char(1) NOT NULL default 'N', |
|---|
| 987 | anum TINYINT UNSIGNED NOT NULL, |
|---|
| 988 | security enum('public','private','usemask') NOT NULL default 'public', |
|---|
| 989 | allowmask int(10) unsigned NOT NULL default '0', |
|---|
| 990 | replycount smallint(5) unsigned default NULL, |
|---|
| 991 | year smallint(6) NOT NULL default '0', |
|---|
| 992 | month tinyint(4) NOT NULL default '0', |
|---|
| 993 | day tinyint(4) NOT NULL default '0', |
|---|
| 994 | rlogtime int(10) unsigned NOT NULL default '0', |
|---|
| 995 | revttime int(10) unsigned NOT NULL default '0', |
|---|
| 996 | KEY (year,month,day), |
|---|
| 997 | KEY (journalid,year,month,day), |
|---|
| 998 | KEY (logtime), |
|---|
| 999 | KEY `rlogtime` (`journalid`,`rlogtime`), |
|---|
| 1000 | KEY `revttime` (`journalid`,`revttime`), |
|---|
| 1001 | KEY `posterid` (`posterid`,`journalid`) |
|---|
| 1002 | ) |
|---|
| 1003 | EOC |
|---|
| 1004 | |
|---|
| 1005 | register_tablecreate("logtext2", <<'EOC'); |
|---|
| 1006 | CREATE TABLE logtext2 ( |
|---|
| 1007 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1008 | jitemid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1009 | subject VARCHAR(255) DEFAULT NULL, |
|---|
| 1010 | event TEXT, |
|---|
| 1011 | PRIMARY KEY (journalid, jitemid) |
|---|
| 1012 | ) max_rows=100000000 |
|---|
| 1013 | EOC |
|---|
| 1014 | |
|---|
| 1015 | register_tablecreate("logsubject2", <<'EOC'); |
|---|
| 1016 | CREATE TABLE logsubject2 ( |
|---|
| 1017 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1018 | jitemid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1019 | subject VARCHAR(255) DEFAULT NULL, |
|---|
| 1020 | PRIMARY KEY (journalid, jitemid) |
|---|
| 1021 | ) max_rows=100000000 |
|---|
| 1022 | EOC |
|---|
| 1023 | |
|---|
| 1024 | register_tablecreate("logprop2", <<'EOC'); |
|---|
| 1025 | CREATE TABLE logprop2 ( |
|---|
| 1026 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1027 | jitemid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1028 | propid TINYINT unsigned NOT NULL, |
|---|
| 1029 | value VARCHAR(255) default NULL, |
|---|
| 1030 | PRIMARY KEY (journalid,jitemid,propid) |
|---|
| 1031 | ) |
|---|
| 1032 | EOC |
|---|
| 1033 | |
|---|
| 1034 | register_tablecreate("logsec2", <<'EOC'); |
|---|
| 1035 | CREATE TABLE logsec2 ( |
|---|
| 1036 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1037 | jitemid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1038 | allowmask INT UNSIGNED NOT NULL, |
|---|
| 1039 | PRIMARY KEY (journalid,jitemid) |
|---|
| 1040 | ) |
|---|
| 1041 | EOC |
|---|
| 1042 | |
|---|
| 1043 | register_tablecreate("talk2", <<'EOC'); |
|---|
| 1044 | CREATE TABLE talk2 ( |
|---|
| 1045 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1046 | jtalkid MEDIUMINT UNSIGNED NOT NULL auto_increment, |
|---|
| 1047 | nodetype CHAR(1) NOT NULL DEFAULT '', |
|---|
| 1048 | nodeid INT UNSIGNED NOT NULL default '0', |
|---|
| 1049 | parenttalkid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1050 | posterid INT UNSIGNED NOT NULL default '0', |
|---|
| 1051 | datepost DATETIME NOT NULL default '0000-00-00 00:00:00', |
|---|
| 1052 | state CHAR(1) default 'A', |
|---|
| 1053 | PRIMARY KEY (journalid,jtalkid), |
|---|
| 1054 | KEY (nodetype,journalid,nodeid), |
|---|
| 1055 | KEY (journalid,state,nodetype), |
|---|
| 1056 | KEY (posterid) |
|---|
| 1057 | ) |
|---|
| 1058 | EOC |
|---|
| 1059 | |
|---|
| 1060 | register_tablecreate("talkprop2", <<'EOC'); |
|---|
| 1061 | CREATE TABLE talkprop2 ( |
|---|
| 1062 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1063 | jtalkid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1064 | tpropid TINYINT UNSIGNED NOT NULL, |
|---|
| 1065 | value VARCHAR(255) DEFAULT NULL, |
|---|
| 1066 | PRIMARY KEY (journalid,jtalkid,tpropid) |
|---|
| 1067 | ) |
|---|
| 1068 | EOC |
|---|
| 1069 | |
|---|
| 1070 | register_tablecreate("talktext2", <<'EOC'); |
|---|
| 1071 | CREATE TABLE talktext2 ( |
|---|
| 1072 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1073 | jtalkid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1074 | subject VARCHAR(100) DEFAULT NULL, |
|---|
| 1075 | body TEXT, |
|---|
| 1076 | PRIMARY KEY (journalid, jtalkid) |
|---|
| 1077 | ) max_rows=100000000 |
|---|
| 1078 | EOC |
|---|
| 1079 | |
|---|
| 1080 | register_tablecreate("talkleft", <<'EOC'); |
|---|
| 1081 | CREATE TABLE talkleft ( |
|---|
| 1082 | userid INT UNSIGNED NOT NULL, |
|---|
| 1083 | posttime INT UNSIGNED NOT NULL, |
|---|
| 1084 | INDEX (userid, posttime), |
|---|
| 1085 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1086 | nodetype CHAR(1) NOT NULL, |
|---|
| 1087 | nodeid INT UNSIGNED NOT NULL, |
|---|
| 1088 | INDEX (journalid, nodetype, nodeid), |
|---|
| 1089 | jtalkid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1090 | publicitem ENUM('1','0') NOT NULL DEFAULT '1' |
|---|
| 1091 | ) |
|---|
| 1092 | EOC |
|---|
| 1093 | |
|---|
| 1094 | register_tablecreate("talkleft_xfp", <<'EOC'); |
|---|
| 1095 | CREATE TABLE talkleft_xfp ( |
|---|
| 1096 | userid INT UNSIGNED NOT NULL, |
|---|
| 1097 | posttime INT UNSIGNED NOT NULL, |
|---|
| 1098 | INDEX (userid, posttime), |
|---|
| 1099 | journalid INT UNSIGNED NOT NULL, |
|---|
| 1100 | nodetype CHAR(1) NOT NULL, |
|---|
| 1101 | nodeid INT UNSIGNED NOT NULL, |
|---|
| 1102 | INDEX (journalid, nodetype, nodeid), |
|---|
| 1103 | jtalkid MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1104 | publicitem ENUM('1','0') NOT NULL DEFAULT '1' |
|---|
| 1105 | ) |
|---|
| 1106 | EOC |
|---|
| 1107 | |
|---|
| 1108 | register_tabledrop("ibill_codes"); |
|---|
| 1109 | register_tabledrop("paycredit"); |
|---|
| 1110 | register_tabledrop("payments"); |
|---|
| 1111 | register_tabledrop("tmp_contributed"); |
|---|
| 1112 | register_tabledrop("transferinfo"); |
|---|
| 1113 | register_tabledrop("contest1"); |
|---|
| 1114 | register_tabledrop("contest1data"); |
|---|
| 1115 | register_tabledrop("logins"); |
|---|
| 1116 | register_tabledrop("hintfriendsview"); |
|---|
| 1117 | register_tabledrop("hintlastnview"); |
|---|
| 1118 | register_tabledrop("batchdelete"); |
|---|
| 1119 | register_tabledrop("ftpusers"); |
|---|
| 1120 | |
|---|
| 1121 | register_tablecreate("portal", <<'EOC'); |
|---|
| 1122 | CREATE TABLE portal ( |
|---|
| 1123 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 1124 | loc enum('left','main','right','moz') NOT NULL default 'left', |
|---|
| 1125 | pos tinyint(3) unsigned NOT NULL default '0', |
|---|
| 1126 | boxname varchar(30) default NULL, |
|---|
| 1127 | boxargs varchar(255) default NULL, |
|---|
| 1128 | PRIMARY KEY (userid,loc,pos), |
|---|
| 1129 | KEY boxname (boxname) |
|---|
| 1130 | ) |
|---|
| 1131 | EOC |
|---|
| 1132 | |
|---|
| 1133 | register_tablecreate("infohistory", <<'EOC'); |
|---|
| 1134 | CREATE TABLE infohistory ( |
|---|
| 1135 | userid int(10) unsigned NOT NULL default '0', |
|---|
| 1136 | what varchar(15) NOT NULL default '', |
|---|
| 1137 | timechange datetime NOT NULL default '0000-00-00 00:00:00', |
|---|
| 1138 | oldvalue varchar(255) default NULL, |
|---|
| 1139 | other varchar(30) default NULL, |
|---|
| 1140 | KEY userid (userid) |
|---|
| 1141 | ) |
|---|
| 1142 | EOC |
|---|
| 1143 | |
|---|
| 1144 | register_tablecreate("useridmap", <<'EOC'); |
|---|
| 1145 | CREATE TABLE useridmap ( |
|---|
| 1146 | userid int(10) unsigned NOT NULL, |
|---|
| 1147 | user char(15) NOT NULL, |
|---|
| 1148 | PRIMARY KEY (userid), |
|---|
| 1149 | UNIQUE KEY user (user) |
|---|
| 1150 | ) PACK_KEYS=1 |
|---|
| 1151 | EOC |
|---|
| 1152 | |
|---|
| 1153 | post_create("useridmap", |
|---|
| 1154 | "sql" => "REPLACE INTO useridmap (userid, user) SELECT userid, user FROM user", |
|---|
| 1155 | ); |
|---|
| 1156 | |
|---|
| 1157 | register_tablecreate("userusage", <<'EOC'); |
|---|
| 1158 | CREATE TABLE userusage |
|---|
| 1159 | ( |
|---|
| 1160 | userid INT UNSIGNED NOT NULL, |
|---|
| 1161 | PRIMARY KEY (userid), |
|---|
| 1162 | timecreate DATETIME NOT NULL, |
|---|
| 1163 | timeupdate DATETIME, |
|---|
| 1164 | timecheck DATETIME, |
|---|
| 1165 | lastitemid INT UNSIGNED NOT NULL DEFAULT '0', |
|---|
| 1166 | INDEX (timeupdate) |
|---|
| 1167 | ) |
|---|
| 1168 | EOC |
|---|
| 1169 | |
|---|
| 1170 | register_tablecreate("userupdate", <<'EOC'); |
|---|
| 1171 | CREATE TABLE userupdate |
|---|
| 1172 | ( |
|---|
| 1173 | userid INT UNSIGNED NOT NULL, |
|---|
| 1174 | groupbit TINYINT UNSIGNED NOT NULL, |
|---|
| 1175 | PRIMARY KEY (userid, groupbit), |
|---|
| 1176 | timeupdate DATETIME NOT NULL |
|---|
| 1177 | ) |
|---|
| 1178 | EOC |
|---|
| 1179 | |
|---|
| 1180 | |
|---|
| 1181 | post_create("userusage", |
|---|
| 1182 | "sqltry" => "INSERT IGNORE INTO userusage (userid, timecreate, timeupdate, timecheck, lastitemid) SELECT userid, timecreate, timeupdate, timecheck, lastitemid FROM user", |
|---|
| 1183 | "sqltry" => "ALTER TABLE user DROP timecreate, DROP timeupdate, DROP timecheck, DROP lastitemid", |
|---|
| 1184 | ); |
|---|
| 1185 | |
|---|
| 1186 | register_tablecreate("acctcode", <<'EOC'); |
|---|
| 1187 | CREATE TABLE acctcode |
|---|
| 1188 | ( |
|---|
| 1189 | acid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, |
|---|
| 1190 | userid INT UNSIGNED NOT NULL, |
|---|
| 1191 | rcptid INT UNSIGNED NOT NULL DEFAULT 0, |
|---|
| 1192 | auth CHAR(5) NOT NULL, |
|---|
| 1193 | INDEX (userid), |
|---|
| 1194 | INDEX (rcptid) |
|---|
| 1195 | ) |
|---|
| 1196 | EOC |
|---|
| 1197 | |
|---|
| 1198 | register_tablecreate("meme", <<'EOC'); |
|---|
| 1199 | CREATE TABLE meme ( |
|---|
| 1200 | url VARCHAR(150) NOT NULL, |
|---|
| 1201 | posterid INT UNSIGNED NOT NULL, |
|---|
| 1202 | UNIQUE (url, posterid), |
|---|
| 1203 | ts TIMESTAMP, |
|---|
| 1204 | itemid INT UNSIGNED NOT NULL, |
|---|
| 1205 | INDEX (ts) |
|---|
| 1206 | ) |
|---|
| 1207 | EOC |
|---|
| 1208 | |
|---|
| 1209 | register_tablecreate("statushistory", <<'EOC'); |
|---|
| 1210 | CREATE TABLE statushistory ( |
|---|
| 1211 | userid INT UNSIGNED NOT NULL, |
|---|
| 1212 | adminid INT UNSIGNED NOT NULL, |
|---|
| 1213 | shtype VARCHAR(20) NOT NULL, |
|---|
| 1214 | shdate TIMESTAMP NOT NULL, |
|---|
| 1215 | notes TEXT, |
|---|
| 1216 | INDEX (userid, shdate), |
|---|
| 1217 | INDEX (adminid, shdate), |
|---|
| 1218 | INDEX (adminid, shtype, shdate), |
|---|
| 1219 | INDEX (shtype, shdate) |
|---|
| 1220 | ) |
|---|
| 1221 | EOC |
|---|
| 1222 | |
|---|
| 1223 | register_tablecreate("includetext", <<'EOC'); |
|---|
| 1224 | CREATE TABLE includetext ( |
|---|
| 1225 | incname VARCHAR(80) NOT NULL PRIMARY KEY, |
|---|
| 1226 | inctext TEXT, |
|---|
| 1227 | updatetime INT UNSIGNED NOT NULL, |
|---|
| 1228 | INDEX (updatetime) |
|---|
| 1229 | ) |
|---|
| 1230 | EOC |
|---|
| 1231 | |
|---|
| 1232 | register_tablecreate("oldids", <<'EOC'); |
|---|
| 1233 | CREATE TABLE oldids ( |
|---|
| 1234 | area CHAR(1) NOT NULL, |
|---|
| 1235 | oldid INT UNSIGNED NOT NULL, |
|---|
| 1236 | UNIQUE (area, oldid), |
|---|
| 1237 | userid INT UNSIGNED NOT NULL, |
|---|
| 1238 | newid INT UNSIGNED NOT NULL AUTO_INCREMENT, |
|---|
| 1239 | PRIMARY KEY (area,userid, newid), |
|---|
| 1240 | INDEX (userid) |
|---|
| 1241 | ) |
|---|
| 1242 | EOC |
|---|
| 1243 | |
|---|
| 1244 | register_tablecreate("dudata", <<'EOC'); |
|---|
| 1245 | CREATE TABLE dudata ( |
|---|
| 1246 | userid INT UNSIGNED NOT NULL, |
|---|
| 1247 | area CHAR(1) NOT NULL, |
|---|
| 1248 | areaid INT UNSIGNED NOT NULL, |
|---|
| 1249 | bytes MEDIUMINT UNSIGNED NOT NULL, |
|---|
| 1250 | PRIMARY KEY (userid, area, areaid) |
|---|
| 1251 | ) |
|---|
| 1252 | EOC |
|---|
| 1253 | |
|---|
| 1254 | register_tablecreate("dbinfo", <<'EOC'); |
|---|
| 1255 | CREATE TABLE dbinfo ( |
|---|
| 1256 | dbid TINYINT UNSIGNED NOT NULL, |
|---|
| 1257 | name VARCHAR(25), |
|---|
| 1258 | fdsn VARCHAR(255), |
|---|
| 1259 | rootfdsn VARCHAR(255), |
|---|
| 1260 | masterid TINYINT UNSIGNED NOT NULL, |
|---|
| 1261 | PRIMARY KEY (dbid), |
|---|
| 1262 | UNIQUE (name) |
|---|
| 1263 | ) |
|---|
| 1264 | EOC |
|---|
| 1265 | |
|---|
| 1266 | register_tablecreate("dbweights", <<'EOC'); |
|---|
| 1267 | CREATE TABLE dbweights ( |
|---|
| 1268 | dbid TINYINT UNSIGNED NOT NULL, |
|---|
| 1269 | role VARCHAR(25) NOT NULL, |
|---|
| 1270 | PRIMARY KEY (dbid, role), |
|---|
| 1271 | norm TINYINT UNSIGNED NOT NULL, |
|---|
| 1272 | curr TINYINT UNSIGNED NOT NULL |
|---|
| 1273 | ) |
|---|
| 1274 | EOC |
|---|
| 1275 | |
|---|
| 1276 | # notification/subscription stuff: |
|---|
| 1277 | |
|---|
| 1278 | register_tablecreate("subs", <<'EOC'); # global |
|---|
| 1279 | CREATE TABLE subs ( |
|---|
| 1280 | userid INT UNSIGNED NOT NULL, |
|---|
| 1281 | etype CHAR(1) NOT NULL, |
|---|
| 1282 | ejournalid INT UNSIGNED NOT NULL, |
|---|
| 1283 | eiarg INT UNSIGNED NOT NULL, |
|---|
| 1284 | UNIQUE (userid, etype, ejournalid, eiarg), |
|---|
| 1285 | INDEX (etype, ejournalid, eiarg), |
|---|
| 1286 | subtime DATETIME NOT NULL, |
|---|
| 1287 | exptime DATETIME NOT NULL, |
|---|
| 1288 | INDEX (exptime), |
|---|
| 1289 | ntype CHAR(1) NOT NULL |
|---|
| 1290 | ) |
|---|
| 1291 | EOC |
|---|
| 1292 | |
|---|
| 1293 | register_tablecreate("events", <<'EOC'); # clustered |
|---|
| 1294 | CREATE TABLE events ( |
|---|
| 1295 | evtime DATETIME NOT NULL, |
|---|
| 1296 | INDEX (evtime), |
|---|
| 1297 | etype CHAR(1) NOT NULL, |
|---|
| 1298 | ejournalid INT UNSIGNED NOT NULL, |
|---|
| 1299 | eiarg INT UNSIGNED NOT NULL, |
|---|
| 1300 | duserid INT UNSIGNED NOT NULL, |
|---|
| 1301 | diarg INT UNSIGNED NOT NULL |
|---|
| 1302 | ) |
|---|
| 1303 | EOC |
|---|
| 1304 | |
|---|
| 1305 | ### changes |
|---|
| 1306 | |
|---|
| 1307 | register_alter(sub { |
|---|
| 1308 | |
|---|
| 1309 | my $dbh = shift; |
|---|
| 1310 | my $runsql = shift; |
|---|
| 1311 | |
|---|
| 1312 | if (column_type("supportcat", "is_selectable") eq "") |
|---|
| 1313 | { |
|---|
| 1314 | do_alter("supportcat", |
|---|
| 1315 | "ALTER TABLE supportcat ADD is_selectable ENUM('1','0') ". |
|---|
| 1316 | "NOT NULL DEFAULT '1', ADD public_read ENUM('1','0') NOT ". |
|---|
| 1317 | "NULL DEFAULT '1', ADD public_help ENUM('1','0') NOT NULL ". |
|---|
| 1318 | "DEFAULT '1', ADD allow_screened ENUM('1','0') NOT NULL ". |
|---|
| 1319 | "DEFAULT '0', ADD replyaddress VARCHAR(50), ADD hide_helpers ". |
|---|
| 1320 | "ENUM('1','0') NOT NULL DEFAULT '0' AFTER allow_screened"); |
|---|
| 1321 | |
|---|
| 1322 | } |
|---|
| 1323 | if (column_type("supportlog", "type") =~ /faqref/) |
|---|
| 1324 | { |
|---|
| 1325 | do_alter("supportlog", |
|---|
| 1326 | "ALTER TABLE supportlog MODIFY type ENUM('req', 'answer', ". |
|---|
| 1327 | "'custom', 'faqref', 'comment', 'internal', 'screened') ". |
|---|
| 1328 | "NOT NULL"); |
|---|
| 1329 | do_sql("UPDATE supportlog SET type='answer' WHERE type='custom'"); |
|---|
| 1330 | do_sql("UPDATE supportlog SET type='answer' WHERE type='faqref'"); |
|---|
| 1331 | do_alter("supportlog", |
|---|
| 1332 | "ALTER TABLE supportlog MODIFY type ENUM('req', 'answer', ". |
|---|
| 1333 | "'comment', 'internal', 'screened') NOT NULL"); |
|---|
| 1334 | |
|---|
| 1335 | } |
|---|
| 1336 | if (table_relevant("supportcat") && column_type("supportcat", "catkey") eq "") |
|---|
| 1337 | { |
|---|
| 1338 | do_alter("supportcat", |
|---|
| 1339 | "ALTER TABLE supportcat ADD catkey VARCHAR(25) AFTER spcatid"); |
|---|
| 1340 | do_sql("UPDATE supportcat SET catkey=spcatid WHERE catkey IS NULL"); |
|---|
| 1341 | do_alter("supportcat", |
|---|
| 1342 | "ALTER TABLE supportcat MODIFY catkey VARCHAR(25) NOT NULL"); |
|---|
| 1343 | } |
|---|
| 1344 | if (column_type("supportcat", "no_autoreply") eq "") |
|---|
| 1345 | { |
|---|
| 1346 | do_alter("supportcat", |
|---|
| 1347 | "ALTER TABLE supportcat ADD no_autoreply ENUM('1', '0') ". |
|---|
| 1348 | "NOT NULL DEFAULT '0'"); |
|---|
| 1349 | } |
|---|
| 1350 | |
|---|
| 1351 | if (column_type("support", "timelasthelp") eq "") |
|---|
| 1352 | { |
|---|
| 1353 | do_alter("supportlog", |
|---|
| 1354 | "ALTER TABLE supportlog ADD INDEX (userid)"); |
|---|
| 1355 | do_alter("support", |
|---|
| 1356 | "ALTER TABLE support ADD timelasthelp INT UNSIGNED"); |
|---|
| 1357 | } |
|---|
| 1358 | |
|---|
| 1359 | if (column_type("user", "track") !~ /temp/) |
|---|
| 1360 | { |
|---|
| 1361 | do_alter("tracking", |
|---|
| 1362 | "ALTER TABLE tracking ADD INDEX(ip)"); |
|---|
| 1363 | do_alter("user", |
|---|
| 1364 | "ALTER TABLE user MODIFY track ENUM('no','yes','temp'), ADD INDEX(track)"); |
|---|
| 1365 | } |
|---|
| 1366 | |
|---|
| 1367 | if (column_type("duplock", "realm") !~ /payments/) |
|---|
| 1368 | { |
|---|
| 1369 | do_alter("duplock", |
|---|
| 1370 | "ALTER TABLE duplock MODIFY realm ENUM('support','log',". |
|---|
| 1371 | "'comment','payments') NOT NULL default 'support'"); |
|---|
| 1372 | } |
|---|
| 1373 | |
|---|
| 1374 | if (column_type("schematables", "redist_where") eq "") |
|---|
| 1375 | { |
|---|
| 1376 | do_alter("schematables", |
|---|
| 1377 | "ALTER TABLE schematables ADD ". |
|---|
| 1378 | "redist_where varchar(255) AFTER redist_mode"); |
|---|
| 1379 | } |
|---|
| 1380 | |
|---|
| 1381 | # upgrade people to the new capabilities system. if they're |
|---|
| 1382 | # using the the paidfeatures column already, we'll assign them |
|---|
| 1383 | # the same capability bits that ljcom will be using. |
|---|
| 1384 | if (table_relevant("user") && column_type("user", "caps") eq "") |
|---|
| 1385 | { |
|---|
| 1386 | do_alter("user", |
|---|
| 1387 | "ALTER TABLE user ADD ". |
|---|
| 1388 | "caps SMALLINT UNSIGNED NOT NULL DEFAULT 0 AFTER user"); |
|---|
| 1389 | try_sql("UPDATE user SET caps=16|8|2 WHERE paidfeatures='on'"); |
|---|
| 1390 | try_sql("UPDATE user SET caps=8|2 WHERE paidfeatures='paid'"); |
|---|
| 1391 | try_sql("UPDATE user SET caps=4|2 WHERE paidfeatures='early'"); |
|---|
| 1392 | try_sql("UPDATE user SET caps=2 WHERE paidfeatures='off'"); |
|---|
| 1393 | } |
|---|
| 1394 | |
|---|
| 1395 | # axe this column (and its two related ones) if it exists. |
|---|
| 1396 | if (column_type("user", "paidfeatures")) |
|---|
| 1397 | { |
|---|
| 1398 | try_sql("REPLACE INTO paiduser (userid, paiduntil, paidreminder) ". |
|---|
| 1399 | "SELECT userid, paiduntil, paidreminder FROM user WHERE paidfeatures='paid'"); |
|---|
| 1400 | try_sql("REPLACE INTO paiduser (userid, paiduntil, paidreminder) ". |
|---|
| 1401 | "SELECT userid, COALESCE(paiduntil,'0000-00-00'), NULL FROM user WHERE paidfeatures='on'"); |
|---|
| 1402 | do_alter("user", |
|---|
| 1403 | "ALTER TABLE user DROP paidfeatures, DROP paiduntil, DROP paidreminder"); |
|---|
| 1404 | } |
|---|
| 1405 | |
|---|
| 1406 | if (table_relevant("log") && column_type("log", "revttime") eq "") |
|---|
| 1407 | { |
|---|
| 1408 | do_alter("log", |
|---|
| 1409 | "ALTER TABLE log DROP INDEX eventtime, ADD COLUMN rlogtime INT UNSIGNED NOT NULL DEFAULT 0, ADD COLUMN revttime INT UNSIGNED NOT NULL DEFAULT 0, ADD INDEX rlogtime (ownerid, rlogtime), ADD INDEX revttime (ownerid, revttime), ADD INDEX posterid (posterid, ownerid)"); |
|---|
| 1410 | do_sql("UPDATE log SET revttime=POW(2,31)-1-UNIX_TIMESTAMP(eventtime), rlogtime=POW(2,31)-1-UNIX_TIMESTAMP(logtime) WHERE revttime=0 OR rlogtime=0"); |
|---|
| 1411 | |
|---|
| 1412 | # related, done at same time: |
|---|
| 1413 | do_alter("talk", |
|---|
| 1414 | "ALTER TABLE talk ADD INDEX datepost (datepost), DROP INDEX posterid, ADD INDEX posterid (posterid, nodetype, datepost)"); |
|---|
| 1415 | } |
|---|
| 1416 | |
|---|
| 1417 | # move S1 _style ids to userprop table! |
|---|
| 1418 | if (column_type("user", "lastn_style")) { |
|---|
| 1419 | |
|---|
| 1420 | # be paranoid and insert these in case they don't exist: |
|---|
| 1421 | try_sql("INSERT INTO userproplist VALUES (null, 's1_lastn_style', 0, 'Recent View StyleID', 'num', 'The style ID# of the S1 style for the recent entries view.')"); |
|---|
| 1422 | try_sql("INSERT INTO userproplist VALUES (null, 's1_calendar_style', 0, 'Calendar View StyleID', 'num', 'The style ID# of the S1 style for the calendar view.')"); |
|---|
| 1423 | try_sql("INSERT INTO userproplist VALUES (null, 's1_day_style', 0, 'Day View StyleID', 'num', 'The style ID# of the S1 style for the day view.')"); |
|---|
| 1424 | try_sql("INSERT INTO userproplist VALUES (null, 's1_friends_style', 0, 'Friends View StyleID', 'num', 'The style ID# of the S1 style for the friends view.')"); |
|---|
| 1425 | |
|---|
| 1426 | foreach my $v (qw(lastn day calendar friends)) { |
|---|
| 1427 | do_sql("INSERT INTO userproplite SELECT u.userid, upl.upropid, u.${v}_style FROM user u, userproplist upl WHERE upl.name='s1_${v}_style'"); |
|---|
| 1428 | } |
|---|
| 1429 | |
|---|
| 1430 | do_alter("user", |
|---|
| 1431 | "ALTER TABLE user DROP lastn_style, DROP calendar_style, DROP search_style, DROP searchres_style, DROP day_style, DROP friends_style"); |
|---|
| 1432 | } |
|---|
| 1433 | |
|---|
| 1434 | # add scope columns to proplist tables |
|---|
| 1435 | if (column_type("userproplist", "scope") eq "") { |
|---|
| 1436 | do_alter("userproplist", |
|---|
| 1437 | "ALTER TABLE userproplist ADD scope ENUM('general', 'local') ". |
|---|
| 1438 | "DEFAULT 'general' NOT NULL"); |
|---|
| 1439 | } |
|---|
| 1440 | |
|---|
| 1441 | if (column_type("logproplist", "scope") eq "") { |
|---|
| 1442 | do_alter("logproplist", |
|---|
| 1443 | "ALTER TABLE logproplist ADD scope ENUM('general', 'local') ". |
|---|
| 1444 | "DEFAULT 'general' NOT NULL"); |
|---|
| 1445 | } |
|---|
| 1446 | |
|---|
| 1447 | if (column_type("talkproplist", "scope") eq "") { |
|---|
| 1448 | do_alter("talkproplist", |
|---|
| 1449 | "ALTER TABLE talkproplist ADD scope ENUM('general', 'local') ". |
|---|
| 1450 | "DEFAULT 'general' NOT NULL"); |
|---|
| 1451 | } |
|---|
| 1452 | |
|---|
| 1453 | if (column_type("priv_list", "scope") eq "") { |
|---|
| 1454 | do_alter("priv_list", |
|---|
| 1455 | "ALTER TABLE priv_list ADD scope ENUM('general', 'local') ". |
|---|
| 1456 | "DEFAULT 'general' NOT NULL"); |
|---|
| 1457 | } |
|---|
| 1458 | |
|---|
| 1459 | # change size of stats table to accomodate meme data, and shrink statcat, |
|---|
| 1460 | # since it's way too big |
|---|
| 1461 | if (column_type("stats", "statcat") eq "varchar(100)") { |
|---|
| 1462 | do_alter("stats", |
|---|
| 1463 | "ALTER TABLE stats ". |
|---|
| 1464 | "MODIFY statcat VARCHAR(30) NOT NULL, ". |
|---|
| 1465 | "MODIFY statkey VARCHAR(150) NOT NULL, ". |
|---|
| 1466 | "MODIFY statval INT UNSIGNED NOT NULL, ". |
|---|
| 1467 | "DROP INDEX statcat"); |
|---|
| 1468 | } |
|---|
| 1469 | |
|---|
| 1470 | if (column_type("priv_list", "is_public") eq "") { |
|---|
| 1471 | do_alter("priv_list", |
|---|
| 1472 | "ALTER TABLE priv_list ". |
|---|
| 1473 | "ADD is_public ENUM('1', '0') DEFAULT '1' NOT NULL"); |
|---|
| 1474 | } |
|---|
| 1475 | |
|---|
| 1476 | if (column_type("randomuserset", "rid") eq "") { |
|---|
| 1477 | do_alter("randomuserset", |
|---|
| 1478 | "ALTER TABLE randomuserset DROP PRIMARY KEY, DROP timeupdate, ". |
|---|
| 1479 | "ADD rid INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (rid)"); |
|---|
| 1480 | } |
|---|
| 1481 | |
|---|
| 1482 | # cluster stuff! |
|---|
| 1483 | if (column_type("meme", "journalid") eq "") { |
|---|
| 1484 | do_alter("meme", |
|---|
| 1485 | "ALTER TABLE meme ADD journalid INT UNSIGNED NOT NULL AFTER ts"); |
|---|
| 1486 | } |
|---|
| 1487 | |
|---|
| 1488 | if (column_type("topic_map", "jitemid") eq "") { |
|---|
| 1489 | do_alter("topic_map", |
|---|
| 1490 | "ALTER TABLE topic_map DROP INDEX tptopid_2, DROP INDEX itemid, ". |
|---|
| 1491 | "ADD journalid INT UNSIGNED NOT NULL AFTER tptopid, ". |
|---|
| 1492 | "CHANGE itemid jitemid INT UNSIGNED NOT NULL, ". |
|---|
| 1493 | "ADD UNIQUE tptopid_2 (tptopid, journalid, jitemid), ". |
|---|
| 1494 | "ADD KEY jitem (journalid, jitemid)"); |
|---|
| 1495 | } |
|---|
| 1496 | |
|---|
| 1497 | if (column_type("memorable", "jitemid") eq "") { |
|---|
| 1498 | do_alter("memorable", "ALTER TABLE memorable ". |
|---|
| 1499 | "DROP INDEX userid, DROP INDEX itemid, ". |
|---|
| 1500 | "CHANGE itemid jitemid INT UNSIGNED NOT NULL, ". |
|---|
| 1501 | "ADD journalid INT UNSIGNED NOT NULL AFTER userid, ". |
|---|
| 1502 | "ADD UNIQUE uniq (userid, journalid, jitemid), ". |
|---|
| 1503 | "ADD KEY item (journalid, jitemid)"); |
|---|
| 1504 | } |
|---|
| 1505 | |
|---|
| 1506 | if (column_type("user", "clusterid") eq "") { |
|---|
| 1507 | do_alter("user", "ALTER TABLE user ". |
|---|
| 1508 | "ADD clusterid TINYINT UNSIGNED NOT NULL AFTER caps, ". |
|---|
| 1509 | "ADD dversion TINYINT UNSIGNED NOT NULL AFTER clusterid, ". |
|---|
| 1510 | "ADD INDEX idxcluster (clusterid), ". |
|---|
| 1511 | "ADD INDEX idxversion (dversion)"); |
|---|
| 1512 | } |
|---|
| 1513 | |
|---|
| 1514 | if (column_type("friends", "bgcolor") eq "char(7)") { |
|---|
| 1515 | do_alter("friends", "ALTER TABLE friends ". |
|---|
| 1516 | "MODIFY bgcolor CHAR(8) NOT NULL DEFAULT '16777215', ". |
|---|
| 1517 | "MODIFY fgcolor CHAR(8) NOT NULL DEFAULT '0'"); |
|---|
| 1518 | do_sql("UPDATE friends SET ". |
|---|
| 1519 | "bgcolor=CONV(RIGHT(bgcolor,6),16,10), ". |
|---|
| 1520 | "fgcolor=CONV(RIGHT(fgcolor,6),16,10)") |
|---|
| 1521 | unless skip_opt() eq "colorconv"; |
|---|
| 1522 | } |
|---|
| 1523 | |
|---|
| 1524 | return if skip_opt() eq "colorconv"; |
|---|
| 1525 | |
|---|
| 1526 | if (column_type("friends", "bgcolor") eq "char(8)") { |
|---|
| 1527 | do_alter("friends", "ALTER TABLE friends ". |
|---|
| 1528 | "MODIFY bgcolor MEDIUMINT UNSIGNED NOT NULL DEFAULT 16777215, ". |
|---|
| 1529 | "MODIFY fgcolor MEDIUMINT UNSIGNED NOT NULL DEFAULT 0"); |
|---|
| 1530 | } |
|---|
| 1531 | |
|---|
| 1532 | # add the default encoding field, for recoding older pre-Unicode stuff |
|---|
| 1533 | |
|---|
| 1534 | if (column_type("user", "oldenc") eq "") { |
|---|
| 1535 | do_alter("user", "ALTER TABLE user ". |
|---|
| 1536 | "ADD oldenc TINYINT DEFAULT 0 NOT NULL, ". |
|---|
| 1537 | "MODIFY name CHAR(80) NOT NULL" |
|---|
| 1538 | ); |
|---|
| 1539 | } |
|---|
| 1540 | |
|---|
| 1541 | # widen columns to accomodate larger Unicode names |
|---|
| 1542 | if (column_type("friendgroup", "groupname") eq "varchar(30)") { |
|---|
| 1543 | do_alter("friendgroup", |
|---|
| 1544 | "ALTER TABLE friendgroup ". |
|---|
| 1545 | "MODIFY groupname VARCHAR(60) NOT NULL"); |
|---|
| 1546 | } |
|---|
| 1547 | if (column_type("todo", "statusline") eq "varchar(15)") { |
|---|
| 1548 | do_alter("todo", |
|---|
| 1549 | "ALTER TABLE todo ". |
|---|
| 1550 | "MODIFY statusline VARCHAR(40) NOT NULL, " . |
|---|
| 1551 | "MODIFY subject VARCHAR(100) NOT NULL, " . |
|---|
| 1552 | "MODIFY des VARCHAR(255) NOT NULL"); |
|---|
| 1553 | } |
|---|
| 1554 | if (column_type("memorable", "des") eq "varchar(60)") { |
|---|
| 1555 | do_alter("memorable", |
|---|
| 1556 | "ALTER TABLE memorable ". |
|---|
| 1557 | "MODIFY des VARCHAR(150) NOT NULL"); |
|---|
| 1558 | } |
|---|
| 1559 | if (column_type("keywords", "keyword") eq "varchar(40) binary") { |
|---|
| 1560 | do_alter("keywords", |
|---|
| 1561 | "ALTER TABLE keywords ". |
|---|
| 1562 | "MODIFY keyword VARCHAR(80) BINARY NOT NULL"); |
|---|
| 1563 | } |
|---|
| 1564 | |
|---|
| 1565 | }); |
|---|
| 1566 | |
|---|
| 1567 | |
|---|
| 1568 | 1; # return true; |
|---|
| 1569 | |
|---|