1 -- $Id: mysql-initialize.sql,v 1.9 2005-09-28 19:27:23 rurban Exp $
4 id INT NOT NULL AUTO_INCREMENT,
5 -- for mysql => 4.1 define the charset here
6 -- this is esp. needed for mysql 4.1.0 up to 4.1.6.
7 -- not yet confirmed, at least since 4.1.8 it's okay with binary.
8 -- pagename VARCHAR(100) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
9 -- otherwise use the old syntax to do case-sensitive comparison
10 pagename VARCHAR(100) BINARY NOT NULL,
11 hits INT NOT NULL DEFAULT 0,
12 pagedata MEDIUMTEXT NOT NULL DEFAULT '',
13 -- dont add that by hand, better let action=upgrade convert your data
14 cached_html MEDIUMBLOB,
19 CREATE TABLE version (
23 minor_edit TINYINT DEFAULT 0,
24 content MEDIUMTEXT NOT NULL DEFAULT '',
25 versiondata MEDIUMTEXT NOT NULL DEFAULT '',
26 PRIMARY KEY (id,version),
38 CREATE TABLE nonempty (
44 linkfrom INT NOT NULL,
50 CREATE TABLE session (
51 sess_id CHAR(32) NOT NULL DEFAULT '',
52 sess_data BLOB NOT NULL,
53 sess_date INT UNSIGNED NOT NULL,
54 sess_ip CHAR(40) NOT NULL,
55 PRIMARY KEY (sess_id),
59 -- upgrade to 1.3.8: (see lib/upgrade.php)
60 -- ALTER TABLE session ADD sess_ip CHAR(15) NOT NULL;
61 -- CREATE INDEX sess_date on session (sess_date);
62 -- update to 1.3.10: (see lib/upgrade.php)
63 -- ALTER TABLE page CHANGE id id INT NOT NULL AUTO_INCREMENT;
64 -- update to 1.3.11: (see lib/upgrade.php)
65 -- ALTER TABLE page ADD cached_html MEDIUMBLOB;
66 -- ALTER TABLE session CHANGE sess_ip sess_ip CHAR(40) NOT NULL;
68 -- Optional DB Auth and Prefs
69 -- For these tables below the default table prefix must be used
70 -- in the DBAuthParam SQL statements also.
73 userid CHAR(48) BINARY NOT NULL UNIQUE,
74 prefs TEXT NULL DEFAULT '',
75 passwd CHAR(48) BINARY DEFAULT '',
76 groupname CHAR(48) BINARY DEFAULT 'users',
79 -- update to 1.3.12: (see lib/upgrade.php)
80 -- ALTER TABLE pref ADD passwd CHAR(48) BINARY DEFAULT '';
81 -- ALTER TABLE pref ADD groupname CHAR(48) BINARY DEFAULT 'users';
83 -- deprecated since 1.3.12. only useful for seperate databases.
84 -- better use the extra pref table where such users can be created easily
87 -- userid CHAR(48) BINARY NOT NULL UNIQUE,
88 -- passwd CHAR(48) BINARY DEFAULT '',
89 -- prefs TEXT NULL DEFAULT '',
90 -- groupname CHAR(48) BINARY DEFAULT 'users',
91 -- PRIMARY KEY (userid)
94 -- Use the member table, if you need it for n:m user-group relations,
95 -- and adjust your DBAUTH_AUTH_ SQL statements.
97 userid CHAR(48) BINARY NOT NULL,
98 groupname CHAR(48) BINARY NOT NULL DEFAULT 'users',
103 -- only if you plan to use the wikilens theme
104 CREATE TABLE rating (
105 dimension INT(4) NOT NULL,
106 raterpage INT(11) NOT NULL,
107 rateepage INT(11) NOT NULL,
108 ratingvalue FLOAT NOT NULL,
109 rateeversion INT(11) NOT NULL,
110 tstamp TIMESTAMP(14) NOT NULL,
111 PRIMARY KEY (dimension, raterpage, rateepage)
113 -- for empty dimensions use extra indices. see lib/wikilens/RatingsDb.php
114 CREATE INDEX rating_dimension ON rating (dimension);
115 CREATE INDEX rating_raterpage ON rating (raterpage);
116 CREATE INDEX rating_rateepage ON rating (rateepage);
118 -- if ACCESS_LOG_SQL > 0
119 -- only if you need fast log-analysis (spam prevention, recent referrers)
120 -- see http://www.outoforder.cc/projects/apache/mod_log_sql/docs-2.0/#id2756178
121 CREATE TABLE accesslog (
122 time_stamp INT UNSIGNED,
123 remote_host VARCHAR(50),
124 remote_user VARCHAR(50),
125 request_method VARCHAR(10),
126 request_line VARCHAR(255),
127 request_args VARCHAR(255),
128 request_file VARCHAR(255),
129 request_uri VARCHAR(255),
130 request_time CHAR(28),
131 status SMALLINT UNSIGNED,
132 bytes_sent SMALLINT UNSIGNED,
133 referer VARCHAR(255),
135 request_duration FLOAT
137 CREATE INDEX log_time ON accesslog (time_stamp);
138 CREATE INDEX log_host ON accesslog (remote_host);
139 -- create extra indices on demand (usually referer. see plugin/AccessLogSql)