]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - schemas/mysql-initialize.sql
fix syntax errors
[SourceForge/phpwiki.git] / schemas / mysql-initialize.sql
1 -- $Id: mysql-initialize.sql,v 1.9 2005-09-28 19:27:23 rurban Exp $
2
3 CREATE TABLE page (
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,
15         PRIMARY KEY (id),
16         UNIQUE KEY (pagename)
17 ) CHARSET=latin1;
18
19 CREATE TABLE version (
20         id              INT NOT NULL,
21         version         INT NOT NULL,
22         mtime           INT NOT NULL,
23         minor_edit      TINYINT DEFAULT 0,
24         content         MEDIUMTEXT NOT NULL DEFAULT '',
25         versiondata     MEDIUMTEXT NOT NULL DEFAULT '',
26         PRIMARY KEY (id,version),
27         INDEX (mtime)
28 );
29
30 CREATE TABLE recent (
31         id              INT NOT NULL,
32         latestversion   INT,
33         latestmajor     INT,
34         latestminor     INT,
35         PRIMARY KEY (id)
36 );
37
38 CREATE TABLE nonempty (
39         id              INT NOT NULL,
40         PRIMARY KEY (id)
41 );
42
43 CREATE TABLE link (
44         linkfrom        INT NOT NULL,
45         linkto          INT NOT NULL,
46         INDEX (linkfrom),
47         INDEX (linkto)
48 );
49
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),
56         INDEX (sess_date)
57 );
58
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;
67
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.
71
72 CREATE TABLE pref (
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',
77         PRIMARY KEY (userid)
78 );
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';
82
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 
85 -- without password.
86 --CREATE TABLE user (
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)
92 --);
93
94 -- Use the member table, if you need it for n:m user-group relations,
95 -- and adjust your DBAUTH_AUTH_ SQL statements.
96 CREATE TABLE member (
97         userid    CHAR(48) BINARY NOT NULL,
98         groupname CHAR(48) BINARY NOT NULL DEFAULT 'users',
99         INDEX (userid),
100         INDEX (groupname)
101 );
102
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)
112 );
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);
117
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), 
134         agent         VARCHAR(255),
135         request_duration FLOAT
136 );
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)