Initial revision
[lhc/web/wiklou.git] / maintenance / tables.sql
1 -- SQL to create the initial tables for the Wikipedia database.
2 -- This is read and executed by the install script; you should
3 -- never have to run it by itself.
4 --
5 -- Only UNIQUE keys are defined here; the rest are added by
6 -- indexes.sql.
7 --
8
9 DROP TABLE IF EXISTS user;
10 CREATE TABLE user (
11 user_id int(5) unsigned NOT NULL auto_increment,
12 user_name varchar(255) binary NOT NULL default '',
13 user_rights tinyblob NOT NULL default '',
14 user_password tinyblob NOT NULL default '',
15 user_newpassword tinyblob NOT NULL default '',
16 user_email tinytext NOT NULL default '',
17 user_options blob NOT NULL default '',
18 user_touched char(14) binary NOT NULL default '',
19 UNIQUE KEY user_id (user_id)
20 ) TYPE=MyISAM PACK_KEYS=1;
21
22 DROP TABLE IF EXISTS user_newtalk;
23 CREATE TABLE user_newtalk (
24 user_id int(5) NOT NULL default '0',
25 user_ip varchar(40) NOT NULL default ''
26 ) TYPE=MyISAM;
27
28 DROP TABLE IF EXISTS cur;
29 CREATE TABLE cur (
30 cur_id int(8) unsigned NOT NULL auto_increment,
31 cur_namespace tinyint(2) unsigned NOT NULL default '0',
32 cur_title varchar(255) binary NOT NULL default '',
33 cur_text mediumtext NOT NULL default '',
34 cur_comment tinyblob NOT NULL default '',
35 cur_user int(5) unsigned NOT NULL default '0',
36 cur_user_text varchar(255) binary NOT NULL default '',
37 cur_timestamp char(14) binary NOT NULL default '',
38 cur_restrictions tinyblob NOT NULL default '',
39 cur_counter bigint(20) unsigned NOT NULL default '0',
40 cur_is_redirect tinyint(1) unsigned NOT NULL default '0',
41 cur_minor_edit tinyint(1) unsigned NOT NULL default '0',
42 cur_is_new tinyint(1) unsigned NOT NULL default '0',
43 cur_random real unsigned NOT NULL,
44 cur_touched char(14) binary NOT NULL default '',
45 inverse_timestamp char(14) binary NOT NULL default '',
46 UNIQUE KEY cur_id (cur_id)
47 ) TYPE=MyISAM PACK_KEYS=1;
48
49 DROP TABLE IF EXISTS old;
50 CREATE TABLE old (
51 old_id int(8) unsigned NOT NULL auto_increment,
52 old_namespace tinyint(2) unsigned NOT NULL default '0',
53 old_title varchar(255) binary NOT NULL default '',
54 old_text mediumtext NOT NULL default '',
55 old_comment tinyblob NOT NULL default '',
56 old_user int(5) unsigned NOT NULL default '0',
57 old_user_text varchar(255) binary NOT NULL,
58 old_timestamp char(14) binary NOT NULL default '',
59 old_minor_edit tinyint(1) NOT NULL default '0',
60 old_flags tinyblob NOT NULL default '',
61 inverse_timestamp char(14) binary NOT NULL default '',
62 UNIQUE KEY old_id (old_id)
63 ) TYPE=MyISAM PACK_KEYS=1;
64
65 DROP TABLE IF EXISTS archive;
66 CREATE TABLE archive (
67 ar_namespace tinyint(2) unsigned NOT NULL default '0',
68 ar_title varchar(255) binary NOT NULL default '',
69 ar_text mediumtext NOT NULL default '',
70 ar_comment tinyblob NOT NULL default '',
71 ar_user int(5) unsigned NOT NULL default '0',
72 ar_user_text varchar(255) binary NOT NULL,
73 ar_timestamp char(14) binary NOT NULL default '',
74 ar_minor_edit tinyint(1) NOT NULL default '0',
75 ar_flags tinyblob NOT NULL default ''
76 ) TYPE=MyISAM PACK_KEYS=1;
77
78 DROP TABLE IF EXISTS links;
79 CREATE TABLE links (
80 l_from varchar(255) binary NOT NULL default '',
81 l_to int(8) unsigned NOT NULL default '0'
82 ) TYPE=MyISAM;
83
84 DROP TABLE IF EXISTS brokenlinks;
85 CREATE TABLE brokenlinks (
86 bl_from int(8) unsigned NOT NULL default '0',
87 bl_to varchar(255) binary NOT NULL default ''
88 ) TYPE=MyISAM;
89
90 DROP TABLE IF EXISTS imagelinks;
91 CREATE TABLE imagelinks (
92 il_from varchar(255) binary NOT NULL default '',
93 il_to varchar(255) binary NOT NULL default ''
94 ) TYPE=MyISAM;
95
96 DROP TABLE IF EXISTS site_stats;
97 CREATE TABLE site_stats (
98 ss_row_id int(8) unsigned NOT NULL,
99 ss_total_views bigint(20) unsigned default '0',
100 ss_total_edits bigint(20) unsigned default '0',
101 ss_good_articles bigint(20) unsigned default '0',
102 UNIQUE KEY ss_row_id (ss_row_id)
103 ) TYPE=MyISAM;
104
105 DROP TABLE IF EXISTS ipblocks;
106 CREATE TABLE ipblocks (
107 ipb_address varchar(40) binary NOT NULL default '',
108 ipb_user int(8) unsigned NOT NULL default '0',
109 ipb_by int(8) unsigned NOT NULL default '0',
110 ipb_reason tinyblob NOT NULL default '',
111 ipb_timestamp char(14) binary NOT NULL default ''
112 ) TYPE=MyISAM PACK_KEYS=1;
113
114 DROP TABLE IF EXISTS image;
115 CREATE TABLE image (
116 img_name varchar(255) binary NOT NULL default '',
117 img_size int(8) unsigned NOT NULL default '0',
118 img_description tinyblob NOT NULL default '',
119 img_user int(5) unsigned NOT NULL default '0',
120 img_user_text varchar(255) binary NOT NULL default '',
121 img_timestamp char(14) binary NOT NULL default ''
122 ) TYPE=MyISAM PACK_KEYS=1;
123
124 DROP TABLE IF EXISTS oldimage;
125 CREATE TABLE oldimage (
126 oi_name varchar(255) binary NOT NULL default '',
127 oi_archive_name varchar(255) binary NOT NULL default '',
128 oi_size int(8) unsigned NOT NULL default 0,
129 oi_description tinyblob NOT NULL default '',
130 oi_user int(5) unsigned NOT NULL default '0',
131 oi_user_text varchar(255) binary NOT NULL default '',
132 oi_timestamp char(14) binary NOT NULL default ''
133 ) TYPE=MyISAM PACK_KEYS=1;
134
135 DROP TABLE IF EXISTS random;
136 CREATE TABLE random (
137 ra_current tinyint(1) unsigned not null default 0,
138 ra_title varchar(255) binary not null default ''
139 ) TYPE=MyISAM PACK_KEYS=1;
140
141 DROP TABLE IF EXISTS recentchanges;
142 CREATE TABLE recentchanges (
143 rc_timestamp varchar(14) binary NOT NULL default '',
144 rc_cur_time varchar(14) binary NOT NULL default '',
145 rc_user int(10) unsigned NOT NULL default '0',
146 rc_user_text varchar(255) binary NOT NULL default '',
147 rc_namespace tinyint(3) unsigned NOT NULL default '0',
148 rc_title varchar(255) binary NOT NULL default '',
149 rc_comment varchar(255) binary NOT NULL default '',
150 rc_minor tinyint(3) unsigned NOT NULL default '0',
151 rc_bot tinyint(3) unsigned NOT NULL default '0',
152 rc_new tinyint(3) unsigned NOT NULL default '0',
153 rc_cur_id int(10) unsigned NOT NULL default '0',
154 rc_this_oldid int(10) unsigned NOT NULL default '0',
155 rc_last_oldid int(10) unsigned NOT NULL default '0'
156 ) TYPE=MyISAM PACK_KEYS=1;
157
158 DROP TABLE IF EXISTS watchlist;
159 CREATE TABLE watchlist (
160 wl_user int(5) unsigned NOT NULL,
161 wl_namespace tinyint(2) unsigned NOT NULL default '0',
162 wl_title varchar(255) binary NOT NULL default '',
163 UNIQUE KEY (wl_user, wl_namespace, wl_title)
164 ) TYPE=MyISAM PACK_KEYS=1;
165
166 DROP TABLE IF EXISTS math;
167 CREATE TABLE math (
168 math_inputhash varchar(16) NOT NULL,
169 math_outputhash varchar(16) NOT NULL,
170 math_html_conservativeness tinyint(1) NOT NULL,
171 math_html text,
172 math_mathml text,
173 UNIQUE KEY math_inputhash (math_inputhash)
174 ) TYPE=MyISAM;
175
176 -- Table searchindex must be MyISAM for fulltext support
177
178 DROP TABLE IF EXISTS searchindex;
179 CREATE TABLE searchindex (
180 si_page int(8) unsigned NOT NULL,
181 si_title varchar(255) NOT NULL default '',
182 si_text mediumtext NOT NULL default '',
183 UNIQUE KEY (si_page)
184 ) TYPE=MyISAM PACK_KEYS=1;
185