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