diff -r 79fb483807f6 -r 45e887f23282 install/schemas/mysql_stage2.sql --- a/install/schemas/mysql_stage2.sql Mon Feb 16 16:04:31 2009 -0500 +++ b/install/schemas/mysql_stage2.sql Mon Feb 16 16:04:54 2009 -0500 @@ -11,15 +11,15 @@ -- mysql_stage2.sql - MySQL installation schema, main payload CREATE TABLE {{TABLE_PREFIX}}categories( - page_id varchar(64), - namespace varchar(64), + page_id varchar(512), + namespace varchar(16), category_id varchar(64) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; CREATE TABLE {{TABLE_PREFIX}}comments( comment_id int(12) NOT NULL auto_increment, - page_id text, - namespace text, + page_id varchar(512), + namespace varchar(16), subject text, comment_data text, name text, @@ -36,19 +36,20 @@ action varchar(16), time_id int(12) NOT NULL DEFAULT '0', date_string varchar(63), - page_id text, - namespace text, + page_id varchar(512), + namespace varchar(16), page_text text, char_tag varchar(40), author varchar(63), edit_summary text, minor_edit tinyint(1), + page_format varchar(16) NOT NULL DEFAULT 'wikitext', is_draft tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY ( log_id ) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; CREATE TABLE {{TABLE_PREFIX}}page_text( - page_id varchar(255), + page_id varchar(512), namespace varchar(16) NOT NULL DEFAULT 'Article', page_text text, char_tag varchar(63), @@ -63,6 +64,7 @@ special tinyint(1) default '0', visible tinyint(1) default '1', comments_on tinyint(1) default '1', + page_format varchar(16) NOT NULL DEFAULT 'wikitext', protected tinyint(1) NOT NULL DEFAULT 0, wiki_mode tinyint(1) NOT NULL DEFAULT 2, delvotes int(10) NOT NULL DEFAULT 0, @@ -148,7 +150,7 @@ CREATE TABLE {{TABLE_PREFIX}}files( file_id int(12) NOT NULL auto_increment, time_id int(12) NOT NULL, - page_id varchar(63) NOT NULL, + page_id varchar(512) NOT NULL, filename varchar(127) default NULL, size bigint(15) NOT NULL, mimetype varchar(63) default NULL, @@ -192,8 +194,8 @@ hit_id bigint(20) NOT NULL auto_increment, username varchar(63) NOT NULL, time int(12) NOT NULL DEFAULT 0, - page_id varchar(63), - namespace varchar(63), + page_id varchar(512), + namespace varchar(16), PRIMARY KEY ( hit_id ) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; @@ -226,8 +228,8 @@ rule_id int(12) UNSIGNED NOT NULL auto_increment, target_type tinyint(1) UNSIGNED NOT NULL, target_id int(12) UNSIGNED NOT NULL, - page_id varchar(255), - namespace varchar(24), + page_id varchar(512), + namespace varchar(16), rules text, PRIMARY KEY ( rule_id ) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; @@ -247,8 +249,8 @@ CREATE TABLE {{TABLE_PREFIX}}page_group_members( pg_member_id int(12) NOT NULL auto_increment, pg_id mediumint(8) NOT NULL, - page_id varchar(63) NOT NULL, - namespace varchar(63) NOT NULL DEFAULT 'Article', + page_id varchar(512) NOT NULL, + namespace varchar(16) NOT NULL DEFAULT 'Article', PRIMARY KEY ( pg_member_id ) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; @@ -257,8 +259,8 @@ CREATE TABLE {{TABLE_PREFIX}}tags( tag_id int(12) NOT NULL auto_increment, tag_name varchar(63) NOT NULL DEFAULT 'bla', - page_id varchar(255) NOT NULL, - namespace varchar(255) NOT NULL, + page_id varchar(512) NOT NULL, + namespace varchar(16) NOT NULL, user_id mediumint(8) NOT NULL DEFAULT 1, PRIMARY KEY ( tag_id ) ) CHARACTER SET `utf8` COLLATE `utf8_bin`; @@ -337,29 +339,24 @@ PRIMARY KEY ( plugin_id ) ) ENGINE `MyISAM` CHARACTER SET `utf8` COLLATE `utf8_bin`; +-- Added in 1.1.6: Indices for several tables +-- The size of 317 is a trial-and-error-produced value based on MySQL's index column size limit +-- of 1000 bytes. It's low like that because of the UTF-8 character set being used. +ALTER TABLE {{TABLE_PREFIX}}logs ADD INDEX {{TABLE_PREFIX}}logs_page_idx (page_id(317), namespace); +ALTER TABLE {{TABLE_PREFIX}}logs ADD INDEX {{TABLE_PREFIX}}logs_time_idx (time_id); +ALTER TABLE {{TABLE_PREFIX}}comments ADD INDEX {{TABLE_PREFIX}}comments_page_idx (page_id(317), namespace); + +-- The default config. Kind of important. +-- P.S. the allowed_mime_types value is a compressed bitfield. Source for the (rather simple) algo is in functions.php. + INSERT INTO {{TABLE_PREFIX}}config(config_name, config_value) VALUES ('site_name', '{{SITE_NAME}}'), - ('main_page', 'Main_Page'), ('site_desc', '{{SITE_DESC}}'), ('wiki_mode', '{{WIKI_MODE}}'), - ('wiki_edit_notice', '0'), - ('sflogo_enabled', '0'), - ('sflogo_groupid', ''), - ('sflogo_type', '1'), - ('w3c_vh32', '0'), - ('w3c_vh40', '0'), - ('w3c_vh401', '0'), - ('w3c_vxhtml10', '0'), - ('w3c_vxhtml11', '0'), - ('w3c_vcss', '0'), - ('approve_comments', '0'), - ('enable_comments', '1'), ('copyright_notice', '{{COPYRIGHT}}'), - ('wiki_edit_notice_text', '== Why can I edit this page? ==\n\nEveryone can edit almost any page in this website. This concept is called a wiki. It gives everyone the opportunity to make a change for the best. While some spam and vandalism may occur, it is believed that most contributions will be legitimate and helpful.\n\nFor security purposes, a history of all page edits is kept, and administrators are able to restore vandalized or spammed pages with just a few clicks.'), ('cache_thumbs', '{{ENABLE_CACHE}}'), - ('max_file_size', '256000'),('enano_version', '{{VERSION}}'),( 'allowed_mime_types', 'cbf:len=185;crc=55fb6f14;data=0[1],1[4],0[3],1[1],0[22],1[1],0[16],1[3],0[16],1[1],0[1],1[2],0[6],1[1],0[1],1[1],0[4],1[2],0[3],1[1],0[48],1[2],0[2],1[1],0[4],1[1],0[37]|end' ), ('contact_email', '{{ADMIN_EMAIL}}'), - ('powered_btn', '1'); + ('allowed_mime_types', 'cbf2:7414a6b80184038102810b810781098106830a810282018101820683018102840182038104821a850682028104810a82018116'); INSERT INTO {{TABLE_PREFIX}}page_text(page_id, namespace, page_text, char_tag) VALUES ('Main_Page', 'Article', '{{MAIN_PAGE_CONTENT}}', ''); @@ -387,9 +384,10 @@ (3, 'user_rank_admin', 'font-weight: bold; color: #AA0000;'), (4, 'user_rank_guest', ''); -INSERT INTO {{TABLE_PREFIX}}groups(group_id,group_name,group_type,system_group) VALUES(1, 'Everyone', 3, 1), - (2,'Administrators',3,1), - (3,'Moderators',3,1); +INSERT INTO {{TABLE_PREFIX}}groups(group_id,group_name,group_type,system_group) VALUES + (1, 'Everyone', 3, 1), + (2, 'Administrators', 3, 1), + (3, 'Moderators', 3, 1); INSERT INTO {{TABLE_PREFIX}}group_members(group_id,user_id,is_mod) VALUES(2, 2, 1);