install/schemas/mysql_stage2.sql
changeset 831 45e887f23282
parent 801 eb8b23f11744
child 833 16054ea5b525
equal deleted inserted replaced
830:79fb483807f6 831:45e887f23282
     9 -- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
     9 -- warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
    10 
    10 
    11 -- mysql_stage2.sql - MySQL installation schema, main payload
    11 -- mysql_stage2.sql - MySQL installation schema, main payload
    12 
    12 
    13 CREATE TABLE {{TABLE_PREFIX}}categories(
    13 CREATE TABLE {{TABLE_PREFIX}}categories(
    14   page_id varchar(64),
    14   page_id varchar(512),
    15   namespace varchar(64),
    15   namespace varchar(16),
    16   category_id varchar(64)
    16   category_id varchar(64)
    17 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
    17 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
    18 
    18 
    19 CREATE TABLE {{TABLE_PREFIX}}comments(
    19 CREATE TABLE {{TABLE_PREFIX}}comments(
    20   comment_id int(12) NOT NULL auto_increment,
    20   comment_id int(12) NOT NULL auto_increment,
    21   page_id text,
    21   page_id varchar(512),
    22   namespace text,
    22   namespace varchar(16),
    23   subject text,
    23   subject text,
    24   comment_data text,
    24   comment_data text,
    25   name text,
    25   name text,
    26   approved tinyint(1) default 1,
    26   approved tinyint(1) default 1,
    27   user_id mediumint(8) NOT NULL DEFAULT -1,
    27   user_id mediumint(8) NOT NULL DEFAULT -1,
    34   log_id int(15) NOT NULL auto_increment,
    34   log_id int(15) NOT NULL auto_increment,
    35   log_type varchar(16),
    35   log_type varchar(16),
    36   action varchar(16),
    36   action varchar(16),
    37   time_id int(12) NOT NULL DEFAULT '0',
    37   time_id int(12) NOT NULL DEFAULT '0',
    38   date_string varchar(63),
    38   date_string varchar(63),
    39   page_id text,
    39   page_id varchar(512),
    40   namespace text,
    40   namespace varchar(16),
    41   page_text text,
    41   page_text text,
    42   char_tag varchar(40),
    42   char_tag varchar(40),
    43   author varchar(63),
    43   author varchar(63),
    44   edit_summary text,
    44   edit_summary text,
    45   minor_edit tinyint(1),
    45   minor_edit tinyint(1),
       
    46   page_format varchar(16) NOT NULL DEFAULT 'wikitext',
    46   is_draft tinyint(1) NOT NULL DEFAULT 0,
    47   is_draft tinyint(1) NOT NULL DEFAULT 0,
    47   PRIMARY KEY ( log_id )
    48   PRIMARY KEY ( log_id )
    48 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
    49 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
    49 
    50 
    50 CREATE TABLE {{TABLE_PREFIX}}page_text(
    51 CREATE TABLE {{TABLE_PREFIX}}page_text(
    51   page_id varchar(255),
    52   page_id varchar(512),
    52   namespace varchar(16) NOT NULL DEFAULT 'Article',
    53   namespace varchar(16) NOT NULL DEFAULT 'Article',
    53   page_text text,
    54   page_text text,
    54   char_tag varchar(63),
    55   char_tag varchar(63),
    55   FULLTEXT KEY {{TABLE_PREFIX}}page_search_idx (page_id, namespace, page_text)
    56   FULLTEXT KEY {{TABLE_PREFIX}}page_search_idx (page_id, namespace, page_text)
    56 ) ENGINE = MYISAM CHARACTER SET `utf8`;
    57 ) ENGINE = MYISAM CHARACTER SET `utf8`;
    61   urlname varchar(255),
    62   urlname varchar(255),
    62   namespace varchar(16) NOT NULL DEFAULT 'Article',
    63   namespace varchar(16) NOT NULL DEFAULT 'Article',
    63   special tinyint(1) default '0',
    64   special tinyint(1) default '0',
    64   visible tinyint(1) default '1',
    65   visible tinyint(1) default '1',
    65   comments_on tinyint(1) default '1',
    66   comments_on tinyint(1) default '1',
       
    67   page_format varchar(16) NOT NULL DEFAULT 'wikitext',
    66   protected tinyint(1) NOT NULL DEFAULT 0,
    68   protected tinyint(1) NOT NULL DEFAULT 0,
    67   wiki_mode tinyint(1) NOT NULL DEFAULT 2,
    69   wiki_mode tinyint(1) NOT NULL DEFAULT 2,
    68   delvotes int(10) NOT NULL DEFAULT 0,
    70   delvotes int(10) NOT NULL DEFAULT 0,
    69   password varchar(40) NOT NULL DEFAULT '',
    71   password varchar(40) NOT NULL DEFAULT '',
    70   delvote_ips text DEFAULT NULL
    72   delvote_ips text DEFAULT NULL
   146 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   148 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   147 
   149 
   148 CREATE TABLE {{TABLE_PREFIX}}files(
   150 CREATE TABLE {{TABLE_PREFIX}}files(
   149   file_id int(12) NOT NULL auto_increment,
   151   file_id int(12) NOT NULL auto_increment,
   150   time_id int(12) NOT NULL,
   152   time_id int(12) NOT NULL,
   151   page_id varchar(63) NOT NULL,
   153   page_id varchar(512) NOT NULL,
   152   filename varchar(127) default NULL,
   154   filename varchar(127) default NULL,
   153   size bigint(15) NOT NULL,
   155   size bigint(15) NOT NULL,
   154   mimetype varchar(63) default NULL,
   156   mimetype varchar(63) default NULL,
   155   file_extension varchar(8) default NULL,
   157   file_extension varchar(8) default NULL,
   156   file_key varchar(32) NOT NULL,
   158   file_key varchar(32) NOT NULL,
   190 
   192 
   191 CREATE TABLE {{TABLE_PREFIX}}hits(
   193 CREATE TABLE {{TABLE_PREFIX}}hits(
   192   hit_id bigint(20) NOT NULL auto_increment,
   194   hit_id bigint(20) NOT NULL auto_increment,
   193   username varchar(63) NOT NULL,
   195   username varchar(63) NOT NULL,
   194   time int(12) NOT NULL DEFAULT 0,
   196   time int(12) NOT NULL DEFAULT 0,
   195   page_id varchar(63),
   197   page_id varchar(512),
   196   namespace varchar(63),
   198   namespace varchar(16),
   197   PRIMARY KEY ( hit_id ) 
   199   PRIMARY KEY ( hit_id ) 
   198 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   200 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   199 
   201 
   200 CREATE TABLE {{TABLE_PREFIX}}search_index(
   202 CREATE TABLE {{TABLE_PREFIX}}search_index(
   201   word varchar(64) NOT NULL,
   203   word varchar(64) NOT NULL,
   224 
   226 
   225 CREATE TABLE {{TABLE_PREFIX}}acl(
   227 CREATE TABLE {{TABLE_PREFIX}}acl(
   226   rule_id int(12) UNSIGNED NOT NULL auto_increment,
   228   rule_id int(12) UNSIGNED NOT NULL auto_increment,
   227   target_type tinyint(1) UNSIGNED NOT NULL,
   229   target_type tinyint(1) UNSIGNED NOT NULL,
   228   target_id int(12) UNSIGNED NOT NULL,
   230   target_id int(12) UNSIGNED NOT NULL,
   229   page_id varchar(255),
   231   page_id varchar(512),
   230   namespace varchar(24),
   232   namespace varchar(16),
   231   rules text,
   233   rules text,
   232   PRIMARY KEY ( rule_id ) 
   234   PRIMARY KEY ( rule_id ) 
   233 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   235 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   234 
   236 
   235 -- Added in 1.0.1
   237 -- Added in 1.0.1
   245 -- Added in 1.0.1
   247 -- Added in 1.0.1
   246 
   248 
   247 CREATE TABLE {{TABLE_PREFIX}}page_group_members(
   249 CREATE TABLE {{TABLE_PREFIX}}page_group_members(
   248   pg_member_id int(12) NOT NULL auto_increment,
   250   pg_member_id int(12) NOT NULL auto_increment,
   249   pg_id mediumint(8) NOT NULL,
   251   pg_id mediumint(8) NOT NULL,
   250   page_id varchar(63) NOT NULL,
   252   page_id varchar(512) NOT NULL,
   251   namespace varchar(63) NOT NULL DEFAULT 'Article',
   253   namespace varchar(16) NOT NULL DEFAULT 'Article',
   252   PRIMARY KEY ( pg_member_id )
   254   PRIMARY KEY ( pg_member_id )
   253 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   255 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   254 
   256 
   255 -- Added in 1.0.1
   257 -- Added in 1.0.1
   256 
   258 
   257 CREATE TABLE {{TABLE_PREFIX}}tags(
   259 CREATE TABLE {{TABLE_PREFIX}}tags(
   258   tag_id int(12) NOT NULL auto_increment,
   260   tag_id int(12) NOT NULL auto_increment,
   259   tag_name varchar(63) NOT NULL DEFAULT 'bla',
   261   tag_name varchar(63) NOT NULL DEFAULT 'bla',
   260   page_id varchar(255) NOT NULL,
   262   page_id varchar(512) NOT NULL,
   261   namespace varchar(255) NOT NULL,
   263   namespace varchar(16) NOT NULL,
   262   user_id mediumint(8) NOT NULL DEFAULT 1,
   264   user_id mediumint(8) NOT NULL DEFAULT 1,
   263   PRIMARY KEY ( tag_id )
   265   PRIMARY KEY ( tag_id )
   264 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   266 ) CHARACTER SET `utf8` COLLATE `utf8_bin`;
   265 
   267 
   266 -- Added in 1.1.1
   268 -- Added in 1.1.1
   335   plugin_flags int(12),
   337   plugin_flags int(12),
   336   plugin_version varchar(16),
   338   plugin_version varchar(16),
   337   PRIMARY KEY ( plugin_id )
   339   PRIMARY KEY ( plugin_id )
   338 ) ENGINE `MyISAM` CHARACTER SET `utf8` COLLATE `utf8_bin`;
   340 ) ENGINE `MyISAM` CHARACTER SET `utf8` COLLATE `utf8_bin`;
   339 
   341 
       
   342 -- Added in 1.1.6: Indices for several tables
       
   343 -- The size of 317 is a trial-and-error-produced value based on MySQL's index column size limit
       
   344 -- of 1000 bytes. It's low like that because of the UTF-8 character set being used.
       
   345 ALTER TABLE {{TABLE_PREFIX}}logs ADD INDEX {{TABLE_PREFIX}}logs_page_idx (page_id(317), namespace);
       
   346 ALTER TABLE {{TABLE_PREFIX}}logs ADD INDEX {{TABLE_PREFIX}}logs_time_idx (time_id);
       
   347 ALTER TABLE {{TABLE_PREFIX}}comments ADD INDEX {{TABLE_PREFIX}}comments_page_idx (page_id(317), namespace);
       
   348 
       
   349 -- The default config. Kind of important.
       
   350 -- P.S. the allowed_mime_types value is a compressed bitfield. Source for the (rather simple) algo is in functions.php.
       
   351 
   340 INSERT INTO {{TABLE_PREFIX}}config(config_name, config_value) VALUES
   352 INSERT INTO {{TABLE_PREFIX}}config(config_name, config_value) VALUES
   341   ('site_name', '{{SITE_NAME}}'),
   353   ('site_name', '{{SITE_NAME}}'),
   342   ('main_page', 'Main_Page'),
       
   343   ('site_desc', '{{SITE_DESC}}'),
   354   ('site_desc', '{{SITE_DESC}}'),
   344   ('wiki_mode', '{{WIKI_MODE}}'),
   355   ('wiki_mode', '{{WIKI_MODE}}'),
   345   ('wiki_edit_notice', '0'),
       
   346   ('sflogo_enabled', '0'),
       
   347   ('sflogo_groupid', ''),
       
   348   ('sflogo_type', '1'),
       
   349   ('w3c_vh32', '0'),
       
   350   ('w3c_vh40', '0'),
       
   351   ('w3c_vh401', '0'),
       
   352   ('w3c_vxhtml10', '0'),
       
   353   ('w3c_vxhtml11', '0'),
       
   354   ('w3c_vcss', '0'),
       
   355   ('approve_comments', '0'),
       
   356   ('enable_comments', '1'),
       
   357   ('copyright_notice', '{{COPYRIGHT}}'),
   356   ('copyright_notice', '{{COPYRIGHT}}'),
   358   ('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.'),
       
   359   ('cache_thumbs', '{{ENABLE_CACHE}}'),
   357   ('cache_thumbs', '{{ENABLE_CACHE}}'),
   360   ('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' ),
       
   361   ('contact_email', '{{ADMIN_EMAIL}}'),
   358   ('contact_email', '{{ADMIN_EMAIL}}'),
   362   ('powered_btn', '1');
   359   ('allowed_mime_types', 'cbf2:7414a6b80184038102810b810781098106830a810282018101820683018102840182038104821a850682028104810a82018116');
   363 
   360 
   364 INSERT INTO {{TABLE_PREFIX}}page_text(page_id, namespace, page_text, char_tag) VALUES
   361 INSERT INTO {{TABLE_PREFIX}}page_text(page_id, namespace, page_text, char_tag) VALUES
   365   ('Main_Page', 'Article', '{{MAIN_PAGE_CONTENT}}', '');
   362   ('Main_Page', 'Article', '{{MAIN_PAGE_CONTENT}}', '');
   366   
   363   
   367 INSERT INTO {{TABLE_PREFIX}}logs(time_id, date_string, log_type, action, page_id, namespace, author, page_text) VALUES
   364 INSERT INTO {{TABLE_PREFIX}}logs(time_id, date_string, log_type, action, page_id, namespace, author, page_text) VALUES
   385   (1, 'user_rank_member', ''),
   382   (1, 'user_rank_member', ''),
   386   (2, 'user_rank_mod', 'font-weight: bold; color: #00AA00;'),
   383   (2, 'user_rank_mod', 'font-weight: bold; color: #00AA00;'),
   387   (3, 'user_rank_admin', 'font-weight: bold; color: #AA0000;'),
   384   (3, 'user_rank_admin', 'font-weight: bold; color: #AA0000;'),
   388   (4, 'user_rank_guest', '');
   385   (4, 'user_rank_guest', '');
   389 
   386 
   390 INSERT INTO {{TABLE_PREFIX}}groups(group_id,group_name,group_type,system_group) VALUES(1, 'Everyone', 3, 1),
   387 INSERT INTO {{TABLE_PREFIX}}groups(group_id,group_name,group_type,system_group) VALUES
   391   (2,'Administrators',3,1),
   388   (1, 'Everyone', 3, 1),
   392   (3,'Moderators',3,1);
   389   (2, 'Administrators', 3, 1),
       
   390   (3, 'Moderators', 3, 1);
   393 
   391 
   394 INSERT INTO {{TABLE_PREFIX}}group_members(group_id,user_id,is_mod) VALUES(2, 2, 1);
   392 INSERT INTO {{TABLE_PREFIX}}group_members(group_id,user_id,is_mod) VALUES(2, 2, 1);
   395 
   393 
   396 INSERT INTO {{TABLE_PREFIX}}acl(target_type,target_id,page_id,namespace,rules) VALUES
   394 INSERT INTO {{TABLE_PREFIX}}acl(target_type,target_id,page_id,namespace,rules) VALUES
   397   (1,2,NULL,NULL,'read=4;post_comments=4;edit_comments=4;edit_page=4;view_source=4;mod_comments=4;history_view=4;history_rollback=4;history_rollback_extra=4;protect=4;rename=4;clear_logs=4;vote_delete=4;vote_reset=4;delete_page=4;tag_create=4;tag_delete_own=4;tag_delete_other=4;set_wiki_mode=4;password_set=4;password_reset=4;mod_misc=4;edit_cat=4;even_when_protected=4;upload_files=4;upload_new_version=4;create_page=4;html_in_pages=4;php_in_pages={{ADMIN_EMBED_PHP}};edit_acl=4;'),
   395   (1,2,NULL,NULL,'read=4;post_comments=4;edit_comments=4;edit_page=4;view_source=4;mod_comments=4;history_view=4;history_rollback=4;history_rollback_extra=4;protect=4;rename=4;clear_logs=4;vote_delete=4;vote_reset=4;delete_page=4;tag_create=4;tag_delete_own=4;tag_delete_other=4;set_wiki_mode=4;password_set=4;password_reset=4;mod_misc=4;edit_cat=4;even_when_protected=4;upload_files=4;upload_new_version=4;create_page=4;html_in_pages=4;php_in_pages={{ADMIN_EMBED_PHP}};edit_acl=4;'),