1CREATE TABLE /*_*/user ( 2 user_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 3 user_name varchar(255) binary NOT NULL default '', 4 user_real_name varchar(255) binary NOT NULL default '', 5 user_password tinyblob NOT NULL, 6 user_newpassword tinyblob NOT NULL, 7 user_newpass_time binary(14), 8 user_email tinytext NOT NULL, 9 user_touched binary(14) NOT NULL default '', 10 user_token binary(32) NOT NULL default '', 11 user_email_authenticated binary(14), 12 user_email_token binary(32), 13 user_email_token_expires binary(14), 14 user_registration binary(14), 15 user_editcount int, 16 user_password_expires varbinary(14) DEFAULT NULL 17 18) /*$wgDBTableOptions*/; 19 20CREATE UNIQUE INDEX /*i*/user_name ON /*_*/user (user_name); 21CREATE INDEX /*i*/user_email_token ON /*_*/user (user_email_token); 22CREATE INDEX /*i*/user_email ON /*_*/user (user_email(50)); 23CREATE TABLE /*_*/user_groups ( 24 ug_user int unsigned NOT NULL default 0, 25 ug_group varbinary(255) NOT NULL default '' 26) /*$wgDBTableOptions*/; 27 28CREATE UNIQUE INDEX /*i*/ug_user_group ON /*_*/user_groups (ug_user,ug_group); 29CREATE INDEX /*i*/ug_group ON /*_*/user_groups (ug_group); 30CREATE TABLE /*_*/user_former_groups ( 31 ufg_user int unsigned NOT NULL default 0, 32 ufg_group varbinary(255) NOT NULL default '' 33) /*$wgDBTableOptions*/; 34 35CREATE UNIQUE INDEX /*i*/ufg_user_group ON /*_*/user_former_groups (ufg_user,ufg_group); 36CREATE TABLE /*_*/user_newtalk ( 37 user_id int unsigned NOT NULL default 0, 38 user_ip varbinary(40) NOT NULL default '', 39 user_last_timestamp varbinary(14) NULL default NULL 40) /*$wgDBTableOptions*/; 41CREATE INDEX /*i*/un_user_id ON /*_*/user_newtalk (user_id); 42CREATE INDEX /*i*/un_user_ip ON /*_*/user_newtalk (user_ip); 43CREATE TABLE /*_*/user_properties ( 44 up_user int NOT NULL, 45 up_property varbinary(255) NOT NULL, 46 up_value blob 47) /*$wgDBTableOptions*/; 48 49CREATE UNIQUE INDEX /*i*/user_properties_user_property ON /*_*/user_properties (up_user,up_property); 50CREATE INDEX /*i*/user_properties_property ON /*_*/user_properties (up_property); 51CREATE TABLE /*_*/bot_passwords ( 52 bp_user int NOT NULL, 53 bp_app_id varbinary(32) NOT NULL, 54 bp_password tinyblob NOT NULL, 55 bp_token binary(32) NOT NULL default '', 56 bp_restrictions blob NOT NULL, 57 bp_grants blob NOT NULL, 58 59 PRIMARY KEY ( bp_user, bp_app_id ) 60) /*$wgDBTableOptions*/; 61CREATE TABLE /*_*/page ( 62 page_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 63 page_namespace int NOT NULL, 64 page_title varchar(255) binary NOT NULL, 65 page_restrictions tinyblob NOT NULL, 66 page_is_redirect tinyint unsigned NOT NULL default 0, 67 page_is_new tinyint unsigned NOT NULL default 0, 68 page_random real unsigned NOT NULL, 69 page_touched binary(14) NOT NULL default '', 70 page_links_updated varbinary(14) NULL default NULL, 71 page_latest int unsigned NOT NULL, 72 page_len int unsigned NOT NULL, 73 page_content_model varbinary(32) DEFAULT NULL, 74 page_lang varbinary(35) DEFAULT NULL 75) /*$wgDBTableOptions*/; 76 77CREATE UNIQUE INDEX /*i*/name_title ON /*_*/page (page_namespace,page_title); 78CREATE INDEX /*i*/page_random ON /*_*/page (page_random); 79CREATE INDEX /*i*/page_len ON /*_*/page (page_len); 80CREATE INDEX /*i*/page_redirect_namespace_len ON /*_*/page (page_is_redirect, page_namespace, page_len); 81CREATE TABLE /*_*/revision ( 82 rev_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 83 rev_page int unsigned NOT NULL, 84 rev_text_id int unsigned NOT NULL, 85 rev_comment varbinary(767) NOT NULL, 86 rev_user int unsigned NOT NULL default 0, 87 rev_user_text varchar(255) binary NOT NULL default '', 88 rev_timestamp binary(14) NOT NULL default '', 89 rev_minor_edit tinyint unsigned NOT NULL default 0, 90 rev_deleted tinyint unsigned NOT NULL default 0, 91 rev_len int unsigned, 92 rev_parent_id int unsigned default NULL, 93 rev_sha1 varbinary(32) NOT NULL default '', 94 rev_content_model varbinary(32) DEFAULT NULL, 95 rev_content_format varbinary(64) DEFAULT NULL 96 97) /*$wgDBTableOptions*/ MAX_ROWS=10000000 AVG_ROW_LENGTH=1024; 98 99CREATE INDEX /*i*/rev_page_id ON /*_*/revision (rev_page, rev_id); 100CREATE INDEX /*i*/rev_timestamp ON /*_*/revision (rev_timestamp); 101CREATE INDEX /*i*/page_timestamp ON /*_*/revision (rev_page,rev_timestamp); 102CREATE INDEX /*i*/user_timestamp ON /*_*/revision (rev_user,rev_timestamp); 103CREATE INDEX /*i*/usertext_timestamp ON /*_*/revision (rev_user_text,rev_timestamp); 104CREATE INDEX /*i*/page_user_timestamp ON /*_*/revision (rev_page,rev_user,rev_timestamp); 105CREATE TABLE /*_*/text ( 106 old_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 107 old_text mediumblob NOT NULL, 108 old_flags tinyblob NOT NULL 109) /*$wgDBTableOptions*/ MAX_ROWS=10000000 AVG_ROW_LENGTH=10240; 110CREATE TABLE /*_*/archive ( 111 ar_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 112 ar_namespace int NOT NULL default 0, 113 ar_title varchar(255) binary NOT NULL default '', 114 ar_text mediumblob NOT NULL, 115 ar_comment varbinary(767) NOT NULL, 116 ar_user int unsigned NOT NULL default 0, 117 ar_user_text varchar(255) binary NOT NULL, 118 ar_timestamp binary(14) NOT NULL default '', 119 ar_minor_edit tinyint NOT NULL default 0, 120 ar_flags tinyblob NOT NULL, 121 ar_rev_id int unsigned, 122 ar_text_id int unsigned, 123 ar_deleted tinyint unsigned NOT NULL default 0, 124 ar_len int unsigned, 125 ar_page_id int unsigned, 126 ar_parent_id int unsigned default NULL, 127 ar_sha1 varbinary(32) NOT NULL default '', 128 ar_content_model varbinary(32) DEFAULT NULL, 129 ar_content_format varbinary(64) DEFAULT NULL 130) /*$wgDBTableOptions*/; 131 132CREATE INDEX /*i*/name_title_timestamp ON /*_*/archive (ar_namespace,ar_title,ar_timestamp); 133CREATE INDEX /*i*/ar_usertext_timestamp ON /*_*/archive (ar_user_text,ar_timestamp); 134CREATE INDEX /*i*/ar_revid ON /*_*/archive (ar_rev_id); 135CREATE TABLE /*_*/pagelinks ( 136 pl_from int unsigned NOT NULL default 0, 137 pl_from_namespace int NOT NULL default 0, 138 pl_namespace int NOT NULL default 0, 139 pl_title varchar(255) binary NOT NULL default '' 140) /*$wgDBTableOptions*/; 141 142CREATE UNIQUE INDEX /*i*/pl_from ON /*_*/pagelinks (pl_from,pl_namespace,pl_title); 143CREATE INDEX /*i*/pl_namespace ON /*_*/pagelinks (pl_namespace,pl_title,pl_from); 144CREATE INDEX /*i*/pl_backlinks_namespace ON /*_*/pagelinks (pl_from_namespace,pl_namespace,pl_title,pl_from); 145CREATE TABLE /*_*/templatelinks ( 146 tl_from int unsigned NOT NULL default 0, 147 tl_from_namespace int NOT NULL default 0, 148 tl_namespace int NOT NULL default 0, 149 tl_title varchar(255) binary NOT NULL default '' 150) /*$wgDBTableOptions*/; 151 152CREATE UNIQUE INDEX /*i*/tl_from ON /*_*/templatelinks (tl_from,tl_namespace,tl_title); 153CREATE INDEX /*i*/tl_namespace ON /*_*/templatelinks (tl_namespace,tl_title,tl_from); 154CREATE INDEX /*i*/tl_backlinks_namespace ON /*_*/templatelinks (tl_from_namespace,tl_namespace,tl_title,tl_from); 155CREATE TABLE /*_*/imagelinks ( 156 il_from int unsigned NOT NULL default 0, 157 il_from_namespace int NOT NULL default 0, 158 il_to varchar(255) binary NOT NULL default '' 159) /*$wgDBTableOptions*/; 160 161CREATE UNIQUE INDEX /*i*/il_from ON /*_*/imagelinks (il_from,il_to); 162CREATE INDEX /*i*/il_to ON /*_*/imagelinks (il_to,il_from); 163CREATE INDEX /*i*/il_backlinks_namespace ON /*_*/imagelinks (il_from_namespace,il_to,il_from); 164CREATE TABLE /*_*/categorylinks ( 165 cl_from int unsigned NOT NULL default 0, 166 cl_to varchar(255) binary NOT NULL default '', 167 cl_sortkey varbinary(230) NOT NULL default '', 168 cl_sortkey_prefix varchar(255) binary NOT NULL default '', 169 cl_timestamp timestamp NOT NULL, 170 cl_collation varbinary(32) NOT NULL default '', 171 cl_type ENUM('page', 'subcat', 'file') NOT NULL default 'page' 172) /*$wgDBTableOptions*/; 173 174CREATE UNIQUE INDEX /*i*/cl_from ON /*_*/categorylinks (cl_from,cl_to); 175CREATE INDEX /*i*/cl_sortkey ON /*_*/categorylinks (cl_to,cl_type,cl_sortkey,cl_from); 176CREATE INDEX /*i*/cl_timestamp ON /*_*/categorylinks (cl_to,cl_timestamp); 177CREATE INDEX /*i*/cl_collation_ext ON /*_*/categorylinks (cl_collation, cl_to, cl_type, cl_from); 178CREATE TABLE /*_*/category ( 179 cat_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 180 cat_title varchar(255) binary NOT NULL, 181 cat_pages int signed NOT NULL default 0, 182 cat_subcats int signed NOT NULL default 0, 183 cat_files int signed NOT NULL default 0 184) /*$wgDBTableOptions*/; 185 186CREATE UNIQUE INDEX /*i*/cat_title ON /*_*/category (cat_title); 187CREATE INDEX /*i*/cat_pages ON /*_*/category (cat_pages); 188CREATE TABLE /*_*/externallinks ( 189 el_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 190 el_from int unsigned NOT NULL default 0, 191 el_to blob NOT NULL, 192 el_index blob NOT NULL 193) /*$wgDBTableOptions*/; 194 195CREATE INDEX /*i*/el_from ON /*_*/externallinks (el_from, el_to(40)); 196CREATE INDEX /*i*/el_to ON /*_*/externallinks (el_to(60), el_from); 197CREATE INDEX /*i*/el_index ON /*_*/externallinks (el_index(60)); 198CREATE TABLE /*_*/langlinks ( 199 ll_from int unsigned NOT NULL default 0, 200 ll_lang varbinary(20) NOT NULL default '', 201 ll_title varchar(255) binary NOT NULL default '' 202) /*$wgDBTableOptions*/; 203 204CREATE UNIQUE INDEX /*i*/ll_from ON /*_*/langlinks (ll_from, ll_lang); 205CREATE INDEX /*i*/ll_lang ON /*_*/langlinks (ll_lang, ll_title); 206CREATE TABLE /*_*/iwlinks ( 207 iwl_from int unsigned NOT NULL default 0, 208 iwl_prefix varbinary(20) NOT NULL default '', 209 iwl_title varchar(255) binary NOT NULL default '' 210) /*$wgDBTableOptions*/; 211 212CREATE UNIQUE INDEX /*i*/iwl_from ON /*_*/iwlinks (iwl_from, iwl_prefix, iwl_title); 213CREATE INDEX /*i*/iwl_prefix_title_from ON /*_*/iwlinks (iwl_prefix, iwl_title, iwl_from); 214CREATE INDEX /*i*/iwl_prefix_from_title ON /*_*/iwlinks (iwl_prefix, iwl_from, iwl_title); 215CREATE TABLE /*_*/site_stats ( 216 ss_row_id int unsigned NOT NULL, 217 ss_total_edits bigint unsigned default 0, 218 ss_good_articles bigint unsigned default 0, 219 ss_total_pages bigint default '-1', 220 ss_users bigint default '-1', 221 ss_active_users bigint default '-1', 222 ss_images int default 0 223) /*$wgDBTableOptions*/; 224CREATE UNIQUE INDEX /*i*/ss_row_id ON /*_*/site_stats (ss_row_id); 225CREATE TABLE /*_*/ipblocks ( 226 ipb_id int NOT NULL PRIMARY KEY AUTO_INCREMENT, 227 ipb_address tinyblob NOT NULL, 228 ipb_user int unsigned NOT NULL default 0, 229 ipb_by int unsigned NOT NULL default 0, 230 ipb_by_text varchar(255) binary NOT NULL default '', 231 ipb_reason varbinary(767) NOT NULL, 232 ipb_timestamp binary(14) NOT NULL default '', 233 ipb_auto bool NOT NULL default 0, 234 ipb_anon_only bool NOT NULL default 0, 235 ipb_create_account bool NOT NULL default 1, 236 ipb_enable_autoblock bool NOT NULL default '1', 237 ipb_expiry varbinary(14) NOT NULL default '', 238 ipb_range_start tinyblob NOT NULL, 239 ipb_range_end tinyblob NOT NULL, 240 ipb_deleted bool NOT NULL default 0, 241 ipb_block_email bool NOT NULL default 0, 242 ipb_allow_usertalk bool NOT NULL default 0, 243 ipb_parent_block_id int default NULL 244 245) /*$wgDBTableOptions*/; 246CREATE UNIQUE INDEX /*i*/ipb_address ON /*_*/ipblocks (ipb_address(255), ipb_user, ipb_auto, ipb_anon_only); 247 248CREATE INDEX /*i*/ipb_user ON /*_*/ipblocks (ipb_user); 249CREATE INDEX /*i*/ipb_range ON /*_*/ipblocks (ipb_range_start(8), ipb_range_end(8)); 250CREATE INDEX /*i*/ipb_timestamp ON /*_*/ipblocks (ipb_timestamp); 251CREATE INDEX /*i*/ipb_expiry ON /*_*/ipblocks (ipb_expiry); 252CREATE INDEX /*i*/ipb_parent_block_id ON /*_*/ipblocks (ipb_parent_block_id); 253CREATE TABLE /*_*/image ( 254 img_name varchar(255) binary NOT NULL default '' PRIMARY KEY, 255 img_size int unsigned NOT NULL default 0, 256 img_width int NOT NULL default 0, 257 img_height int NOT NULL default 0, 258 img_metadata mediumblob NOT NULL, 259 img_bits int NOT NULL default 0, 260 img_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL, 261 img_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical") NOT NULL default "unknown", 262 img_minor_mime varbinary(100) NOT NULL default "unknown", 263 img_description varbinary(767) NOT NULL, 264 img_user int unsigned NOT NULL default 0, 265 img_user_text varchar(255) binary NOT NULL, 266 img_timestamp varbinary(14) NOT NULL default '', 267 img_sha1 varbinary(32) NOT NULL default '' 268) /*$wgDBTableOptions*/; 269 270CREATE INDEX /*i*/img_usertext_timestamp ON /*_*/image (img_user_text,img_timestamp); 271CREATE INDEX /*i*/img_size ON /*_*/image (img_size); 272CREATE INDEX /*i*/img_timestamp ON /*_*/image (img_timestamp); 273CREATE INDEX /*i*/img_sha1 ON /*_*/image (img_sha1(10)); 274CREATE INDEX /*i*/img_media_mime ON /*_*/image (img_media_type,img_major_mime,img_minor_mime); 275CREATE TABLE /*_*/oldimage ( 276 oi_name varchar(255) binary NOT NULL default '', 277 oi_archive_name varchar(255) binary NOT NULL default '', 278 oi_size int unsigned NOT NULL default 0, 279 oi_width int NOT NULL default 0, 280 oi_height int NOT NULL default 0, 281 oi_bits int NOT NULL default 0, 282 oi_description varbinary(767) NOT NULL, 283 oi_user int unsigned NOT NULL default 0, 284 oi_user_text varchar(255) binary NOT NULL, 285 oi_timestamp binary(14) NOT NULL default '', 286 287 oi_metadata mediumblob NOT NULL, 288 oi_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL, 289 oi_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical") NOT NULL default "unknown", 290 oi_minor_mime varbinary(100) NOT NULL default "unknown", 291 oi_deleted tinyint unsigned NOT NULL default 0, 292 oi_sha1 varbinary(32) NOT NULL default '' 293) /*$wgDBTableOptions*/; 294 295CREATE INDEX /*i*/oi_usertext_timestamp ON /*_*/oldimage (oi_user_text,oi_timestamp); 296CREATE INDEX /*i*/oi_name_timestamp ON /*_*/oldimage (oi_name,oi_timestamp); 297CREATE INDEX /*i*/oi_name_archive_name ON /*_*/oldimage (oi_name,oi_archive_name(14)); 298CREATE INDEX /*i*/oi_sha1 ON /*_*/oldimage (oi_sha1(10)); 299CREATE TABLE /*_*/filearchive ( 300 fa_id int NOT NULL PRIMARY KEY AUTO_INCREMENT, 301 fa_name varchar(255) binary NOT NULL default '', 302 fa_archive_name varchar(255) binary default '', 303 fa_storage_group varbinary(16), 304 fa_storage_key varbinary(64) default '', 305 fa_deleted_user int, 306 fa_deleted_timestamp binary(14) default '', 307 fa_deleted_reason varbinary(767) default '', 308 fa_size int unsigned default 0, 309 fa_width int default 0, 310 fa_height int default 0, 311 fa_metadata mediumblob, 312 fa_bits int default 0, 313 fa_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL, 314 fa_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical") default "unknown", 315 fa_minor_mime varbinary(100) default "unknown", 316 fa_description varbinary(767), 317 fa_user int unsigned default 0, 318 fa_user_text varchar(255) binary, 319 fa_timestamp binary(14) default '', 320 fa_deleted tinyint unsigned NOT NULL default 0, 321 fa_sha1 varbinary(32) NOT NULL default '' 322) /*$wgDBTableOptions*/; 323CREATE INDEX /*i*/fa_name ON /*_*/filearchive (fa_name, fa_timestamp); 324CREATE INDEX /*i*/fa_storage_group ON /*_*/filearchive (fa_storage_group, fa_storage_key); 325CREATE INDEX /*i*/fa_deleted_timestamp ON /*_*/filearchive (fa_deleted_timestamp); 326CREATE INDEX /*i*/fa_user_timestamp ON /*_*/filearchive (fa_user_text,fa_timestamp); 327CREATE INDEX /*i*/fa_sha1 ON /*_*/filearchive (fa_sha1(10)); 328CREATE TABLE /*_*/uploadstash ( 329 us_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 330 us_user int unsigned NOT NULL, 331 us_key varchar(255) NOT NULL, 332 us_orig_path varchar(255) NOT NULL, 333 us_path varchar(255) NOT NULL, 334 us_source_type varchar(50), 335 us_timestamp varbinary(14) NOT NULL, 336 337 us_status varchar(50) NOT NULL, 338 us_chunk_inx int unsigned NULL, 339 us_props blob, 340 us_size int unsigned NOT NULL, 341 us_sha1 varchar(31) NOT NULL, 342 us_mime varchar(255), 343 us_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL, 344 us_image_width int unsigned, 345 us_image_height int unsigned, 346 us_image_bits smallint unsigned 347 348) /*$wgDBTableOptions*/; 349CREATE INDEX /*i*/us_user ON /*_*/uploadstash (us_user); 350CREATE UNIQUE INDEX /*i*/us_key ON /*_*/uploadstash (us_key); 351CREATE INDEX /*i*/us_timestamp ON /*_*/uploadstash (us_timestamp); 352CREATE TABLE /*_*/recentchanges ( 353 rc_id int NOT NULL PRIMARY KEY AUTO_INCREMENT, 354 rc_timestamp varbinary(14) NOT NULL default '', 355 rc_user int unsigned NOT NULL default 0, 356 rc_user_text varchar(255) binary NOT NULL, 357 rc_namespace int NOT NULL default 0, 358 rc_title varchar(255) binary NOT NULL default '', 359 rc_comment varbinary(767) NOT NULL default '', 360 rc_minor tinyint unsigned NOT NULL default 0, 361 rc_bot tinyint unsigned NOT NULL default 0, 362 rc_new tinyint unsigned NOT NULL default 0, 363 rc_cur_id int unsigned NOT NULL default 0, 364 rc_this_oldid int unsigned NOT NULL default 0, 365 rc_last_oldid int unsigned NOT NULL default 0, 366 rc_type tinyint unsigned NOT NULL default 0, 367 rc_source varchar(16) binary not null default '', 368 rc_patrolled tinyint unsigned NOT NULL default 0, 369 rc_ip varbinary(40) NOT NULL default '', 370 rc_old_len int, 371 rc_new_len int, 372 rc_deleted tinyint unsigned NOT NULL default 0, 373 rc_logid int unsigned NOT NULL default 0, 374 rc_log_type varbinary(255) NULL default NULL, 375 rc_log_action varbinary(255) NULL default NULL, 376 rc_params blob NULL 377) /*$wgDBTableOptions*/; 378 379CREATE INDEX /*i*/rc_timestamp ON /*_*/recentchanges (rc_timestamp); 380CREATE INDEX /*i*/rc_namespace_title ON /*_*/recentchanges (rc_namespace, rc_title); 381CREATE INDEX /*i*/rc_cur_id ON /*_*/recentchanges (rc_cur_id); 382CREATE INDEX /*i*/new_name_timestamp ON /*_*/recentchanges (rc_new,rc_namespace,rc_timestamp); 383CREATE INDEX /*i*/rc_ip ON /*_*/recentchanges (rc_ip); 384CREATE INDEX /*i*/rc_ns_usertext ON /*_*/recentchanges (rc_namespace, rc_user_text); 385CREATE INDEX /*i*/rc_user_text ON /*_*/recentchanges (rc_user_text, rc_timestamp); 386CREATE INDEX /*i*/rc_name_type_patrolled_timestamp ON /*_*/recentchanges (rc_namespace, rc_type, rc_patrolled, rc_timestamp); 387 388 389CREATE TABLE /*_*/watchlist ( 390 wl_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 391 wl_user int unsigned NOT NULL, 392 wl_namespace int NOT NULL default 0, 393 wl_title varchar(255) binary NOT NULL default '', 394 wl_notificationtimestamp varbinary(14) 395 396) /*$wgDBTableOptions*/; 397 398CREATE UNIQUE INDEX /*i*/wl_user ON /*_*/watchlist (wl_user, wl_namespace, wl_title); 399CREATE INDEX /*i*/namespace_title ON /*_*/watchlist (wl_namespace, wl_title); 400CREATE INDEX /*i*/wl_user_notificationtimestamp ON /*_*/watchlist (wl_user, wl_notificationtimestamp); 401CREATE TABLE /*_*/searchindex ( 402 si_page int unsigned NOT NULL, 403 si_title varchar(255) NOT NULL default '', 404 si_text mediumtext NOT NULL 405) ENGINE=MyISAM DEFAULT CHARSET=utf8; 406 407CREATE UNIQUE INDEX /*i*/si_page ON /*_*/searchindex (si_page); 408CREATE FULLTEXT INDEX /*i*/si_title ON /*_*/searchindex (si_title); 409CREATE FULLTEXT INDEX /*i*/si_text ON /*_*/searchindex (si_text); 410CREATE TABLE /*_*/interwiki ( 411 iw_prefix varchar(32) NOT NULL, 412 iw_url blob NOT NULL, 413 iw_api blob NOT NULL, 414 iw_wikiid varchar(64) NOT NULL, 415 iw_local bool NOT NULL, 416 iw_trans tinyint NOT NULL default 0 417) /*$wgDBTableOptions*/; 418 419CREATE UNIQUE INDEX /*i*/iw_prefix ON /*_*/interwiki (iw_prefix); 420CREATE TABLE /*_*/querycache ( 421 qc_type varbinary(32) NOT NULL, 422 qc_value int unsigned NOT NULL default 0, 423 qc_namespace int NOT NULL default 0, 424 qc_title varchar(255) binary NOT NULL default '' 425) /*$wgDBTableOptions*/; 426 427CREATE INDEX /*i*/qc_type ON /*_*/querycache (qc_type,qc_value); 428CREATE TABLE /*_*/objectcache ( 429 keyname varbinary(255) NOT NULL default '' PRIMARY KEY, 430 value mediumblob, 431 exptime datetime 432) /*$wgDBTableOptions*/; 433CREATE INDEX /*i*/exptime ON /*_*/objectcache (exptime); 434CREATE TABLE /*_*/transcache ( 435 tc_url varbinary(255) NOT NULL, 436 tc_contents text, 437 tc_time binary(14) NOT NULL 438) /*$wgDBTableOptions*/; 439 440CREATE UNIQUE INDEX /*i*/tc_url_idx ON /*_*/transcache (tc_url); 441 442 443CREATE TABLE /*_*/logging ( 444 log_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 445 log_type varbinary(32) NOT NULL default '', 446 log_action varbinary(32) NOT NULL default '', 447 log_timestamp binary(14) NOT NULL default '19700101000000', 448 log_user int unsigned NOT NULL default 0, 449 log_user_text varchar(255) binary NOT NULL default '', 450 log_namespace int NOT NULL default 0, 451 log_title varchar(255) binary NOT NULL default '', 452 log_page int unsigned NULL, 453 log_comment varbinary(767) NOT NULL default '', 454 log_params blob NOT NULL, 455 log_deleted tinyint unsigned NOT NULL default 0 456) /*$wgDBTableOptions*/; 457 458CREATE INDEX /*i*/type_time ON /*_*/logging (log_type, log_timestamp); 459CREATE INDEX /*i*/user_time ON /*_*/logging (log_user, log_timestamp); 460CREATE INDEX /*i*/page_time ON /*_*/logging (log_namespace, log_title, log_timestamp); 461CREATE INDEX /*i*/times ON /*_*/logging (log_timestamp); 462CREATE INDEX /*i*/log_user_type_time ON /*_*/logging (log_user, log_type, log_timestamp); 463CREATE INDEX /*i*/log_page_id_time ON /*_*/logging (log_page,log_timestamp); 464CREATE INDEX /*i*/type_action ON /*_*/logging (log_type, log_action, log_timestamp); 465CREATE INDEX /*i*/log_user_text_type_time ON /*_*/logging (log_user_text, log_type, log_timestamp); 466CREATE INDEX /*i*/log_user_text_time ON /*_*/logging (log_user_text, log_timestamp); 467 468 469CREATE TABLE /*_*/log_search ( 470 ls_field varbinary(32) NOT NULL, 471 ls_value varchar(255) NOT NULL, 472 ls_log_id int unsigned NOT NULL default 0 473) /*$wgDBTableOptions*/; 474CREATE UNIQUE INDEX /*i*/ls_field_val ON /*_*/log_search (ls_field,ls_value,ls_log_id); 475CREATE INDEX /*i*/ls_log_id ON /*_*/log_search (ls_log_id); 476CREATE TABLE /*_*/job ( 477 job_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 478 job_cmd varbinary(60) NOT NULL default '', 479 job_namespace int NOT NULL, 480 job_title varchar(255) binary NOT NULL, 481 job_timestamp varbinary(14) NULL default NULL, 482 job_params blob NOT NULL, 483 job_random integer unsigned NOT NULL default 0, 484 job_attempts integer unsigned NOT NULL default 0, 485 job_token varbinary(32) NOT NULL default '', 486 job_token_timestamp varbinary(14) NULL default NULL, 487 job_sha1 varbinary(32) NOT NULL default '' 488) /*$wgDBTableOptions*/; 489 490CREATE INDEX /*i*/job_sha1 ON /*_*/job (job_sha1); 491CREATE INDEX /*i*/job_cmd_token ON /*_*/job (job_cmd,job_token,job_random); 492CREATE INDEX /*i*/job_cmd_token_id ON /*_*/job (job_cmd,job_token,job_id); 493CREATE INDEX /*i*/job_cmd ON /*_*/job (job_cmd, job_namespace, job_title, job_params(128)); 494CREATE INDEX /*i*/job_timestamp ON /*_*/job (job_timestamp); 495CREATE TABLE /*_*/querycache_info ( 496 qci_type varbinary(32) NOT NULL default '', 497 qci_timestamp binary(14) NOT NULL default '19700101000000' 498) /*$wgDBTableOptions*/; 499 500CREATE UNIQUE INDEX /*i*/qci_type ON /*_*/querycache_info (qci_type); 501CREATE TABLE /*_*/redirect ( 502 rd_from int unsigned NOT NULL default 0 PRIMARY KEY, 503 rd_namespace int NOT NULL default 0, 504 rd_title varchar(255) binary NOT NULL default '', 505 rd_interwiki varchar(32) default NULL, 506 rd_fragment varchar(255) binary default NULL 507) /*$wgDBTableOptions*/; 508 509CREATE INDEX /*i*/rd_ns_title ON /*_*/redirect (rd_namespace,rd_title,rd_from); 510CREATE TABLE /*_*/querycachetwo ( 511 qcc_type varbinary(32) NOT NULL, 512 qcc_value int unsigned NOT NULL default 0, 513 qcc_namespace int NOT NULL default 0, 514 qcc_title varchar(255) binary NOT NULL default '', 515 qcc_namespacetwo int NOT NULL default 0, 516 qcc_titletwo varchar(255) binary NOT NULL default '' 517) /*$wgDBTableOptions*/; 518 519CREATE INDEX /*i*/qcc_type ON /*_*/querycachetwo (qcc_type,qcc_value); 520CREATE INDEX /*i*/qcc_title ON /*_*/querycachetwo (qcc_type,qcc_namespace,qcc_title); 521CREATE INDEX /*i*/qcc_titletwo ON /*_*/querycachetwo (qcc_type,qcc_namespacetwo,qcc_titletwo); 522CREATE TABLE /*_*/page_restrictions ( 523 pr_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 524 pr_page int NOT NULL, 525 pr_type varbinary(60) NOT NULL, 526 pr_level varbinary(60) NOT NULL, 527 pr_cascade tinyint NOT NULL, 528 pr_user int NULL, 529 pr_expiry varbinary(14) NULL 530) /*$wgDBTableOptions*/; 531 532CREATE UNIQUE INDEX /*i*/pr_pagetype ON /*_*/page_restrictions (pr_page,pr_type); 533CREATE INDEX /*i*/pr_typelevel ON /*_*/page_restrictions (pr_type,pr_level); 534CREATE INDEX /*i*/pr_level ON /*_*/page_restrictions (pr_level); 535CREATE INDEX /*i*/pr_cascade ON /*_*/page_restrictions (pr_cascade); 536CREATE TABLE /*_*/protected_titles ( 537 pt_namespace int NOT NULL, 538 pt_title varchar(255) binary NOT NULL, 539 pt_user int unsigned NOT NULL, 540 pt_reason varbinary(767), 541 pt_timestamp binary(14) NOT NULL, 542 pt_expiry varbinary(14) NOT NULL default '', 543 pt_create_perm varbinary(60) NOT NULL 544) /*$wgDBTableOptions*/; 545 546CREATE UNIQUE INDEX /*i*/pt_namespace_title ON /*_*/protected_titles (pt_namespace,pt_title); 547CREATE INDEX /*i*/pt_timestamp ON /*_*/protected_titles (pt_timestamp); 548CREATE TABLE /*_*/page_props ( 549 pp_page int NOT NULL, 550 pp_propname varbinary(60) NOT NULL, 551 pp_value blob NOT NULL, 552 pp_sortkey float DEFAULT NULL 553) /*$wgDBTableOptions*/; 554 555CREATE UNIQUE INDEX /*i*/pp_page_propname ON /*_*/page_props (pp_page,pp_propname); 556CREATE UNIQUE INDEX /*i*/pp_propname_page ON /*_*/page_props (pp_propname,pp_page); 557CREATE UNIQUE INDEX /*i*/pp_propname_sortkey_page ON /*_*/page_props (pp_propname,pp_sortkey,pp_page); 558CREATE TABLE /*_*/updatelog ( 559 ul_key varchar(255) NOT NULL PRIMARY KEY, 560 ul_value blob 561) /*$wgDBTableOptions*/; 562CREATE TABLE /*_*/change_tag ( 563 ct_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 564 ct_rc_id int NULL, 565 ct_log_id int NULL, 566 ct_rev_id int NULL, 567 ct_tag varchar(255) NOT NULL, 568 ct_params blob NULL 569) /*$wgDBTableOptions*/; 570 571CREATE UNIQUE INDEX /*i*/change_tag_rc_tag ON /*_*/change_tag (ct_rc_id,ct_tag); 572CREATE UNIQUE INDEX /*i*/change_tag_log_tag ON /*_*/change_tag (ct_log_id,ct_tag); 573CREATE UNIQUE INDEX /*i*/change_tag_rev_tag ON /*_*/change_tag (ct_rev_id,ct_tag); 574CREATE INDEX /*i*/change_tag_tag_id ON /*_*/change_tag (ct_tag,ct_rc_id,ct_rev_id,ct_log_id); 575CREATE TABLE /*_*/tag_summary ( 576 ts_id int unsigned NOT NULL PRIMARY KEY AUTO_INCREMENT, 577 ts_rc_id int NULL, 578 ts_log_id int NULL, 579 ts_rev_id int NULL, 580 ts_tags blob NOT NULL 581) /*$wgDBTableOptions*/; 582 583CREATE UNIQUE INDEX /*i*/tag_summary_rc_id ON /*_*/tag_summary (ts_rc_id); 584CREATE UNIQUE INDEX /*i*/tag_summary_log_id ON /*_*/tag_summary (ts_log_id); 585CREATE UNIQUE INDEX /*i*/tag_summary_rev_id ON /*_*/tag_summary (ts_rev_id); 586 587 588CREATE TABLE /*_*/valid_tag ( 589 vt_tag varchar(255) NOT NULL PRIMARY KEY 590) /*$wgDBTableOptions*/; 591CREATE TABLE /*_*/l10n_cache ( 592 lc_lang varbinary(32) NOT NULL, 593 lc_key varchar(255) NOT NULL, 594 lc_value mediumblob NOT NULL 595) /*$wgDBTableOptions*/; 596CREATE INDEX /*i*/lc_lang_key ON /*_*/l10n_cache (lc_lang, lc_key); 597CREATE TABLE /*_*/module_deps ( 598 md_module varbinary(255) NOT NULL, 599 md_skin varbinary(32) NOT NULL, 600 md_deps mediumblob NOT NULL 601) /*$wgDBTableOptions*/; 602CREATE UNIQUE INDEX /*i*/md_module_skin ON /*_*/module_deps (md_module, md_skin); 603CREATE TABLE /*_*/sites ( 604 site_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT, 605 site_global_key varbinary(32) NOT NULL, 606 site_type varbinary(32) NOT NULL, 607 site_group varbinary(32) NOT NULL, 608 site_source varbinary(32) NOT NULL, 609 site_language varbinary(32) NOT NULL, 610 site_protocol varbinary(32) NOT NULL, 611 site_domain VARCHAR(255) NOT NULL, 612 site_data BLOB NOT NULL, 613 site_forward bool NOT NULL, 614 site_config BLOB NOT NULL 615) /*$wgDBTableOptions*/; 616 617CREATE UNIQUE INDEX /*i*/sites_global_key ON /*_*/sites (site_global_key); 618CREATE INDEX /*i*/sites_type ON /*_*/sites (site_type); 619CREATE INDEX /*i*/sites_group ON /*_*/sites (site_group); 620CREATE INDEX /*i*/sites_source ON /*_*/sites (site_source); 621CREATE INDEX /*i*/sites_language ON /*_*/sites (site_language); 622CREATE INDEX /*i*/sites_protocol ON /*_*/sites (site_protocol); 623CREATE INDEX /*i*/sites_domain ON /*_*/sites (site_domain); 624CREATE INDEX /*i*/sites_forward ON /*_*/sites (site_forward); 625CREATE TABLE /*_*/site_identifiers ( 626 si_site INT UNSIGNED NOT NULL, 627 si_type varbinary(32) NOT NULL, 628 si_key varbinary(32) NOT NULL 629) /*$wgDBTableOptions*/; 630 631CREATE UNIQUE INDEX /*i*/site_ids_type ON /*_*/site_identifiers (si_type, si_key); 632CREATE INDEX /*i*/site_ids_site ON /*_*/site_identifiers (si_site); 633CREATE INDEX /*i*/site_ids_key ON /*_*/site_identifiers (si_key); 634