]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - schemas/oci8.sql
Add EXPLICIT_RATINGS_DIMENSION constant. More dimensions on the way
[SourceForge/phpwiki.git] / schemas / oci8.sql
1 -- $Id: oci8.sql,v 1.1 2004-06-27 10:26:03 rurban Exp $
2
3 set verify off
4 set feedback off
5
6 --================================================================
7 -- Prefix for table names.
8 --
9 -- You should set this to the same value you specify for
10 -- $DBParams['prefix'] in index.php.
11 --
12 -- You have to use a prefix, because some phpWiki tablenames are 
13 -- Oracle reserved words!
14
15 define prefix=phpwiki_
16
17 --================================================================
18 --
19 -- Don't modify below this point unless you know what you are doing.
20 --
21 --================================================================
22
23 --================================================================
24 -- Note on Oracle datatypes...
25 -- 
26 -- Most of the 'NOT NULL' constraints on the character columns have been 
27 --      dropped since they can contain empty strings which are seen by 
28 --      Oracle as NULL.
29 -- Oracle CLOBs are used for TEXTs/MEDUIMTEXTs columns.
30
31
32 prompt Initializing PhpWiki tables with:
33 prompt        prefix =  &prefix
34 prompt 
35 prompt Expect some 'ORA-00942: table or view does not exist' unless you are
36 prompt overwriting existing tables.
37 prompt 
38
39 define page_tbl=&prefix.page
40 define page_id=&prefix.page_id
41 define page_nm=&prefix.page_nm
42
43 define version_tbl=&prefix.version
44 define vers_id=&prefix.vers_id
45 define vers_mtime=&prefix.vers_mtime
46
47 define recent_tbl=&prefix.recent
48 define recent_id=&prefix.recent_id
49
50 define nonempty_tbl=&prefix.nonempty
51 define nonmt_id=&prefix.nonmt_id
52
53 define link_tbl=&prefix.link
54 define link_from=&prefix.link_from
55 define link_to=&prefix.link_to
56
57 define session_tbl=&prefix.session
58 define sess_id=&prefix.sess_id
59 define sess_date=&prefix.sess_date
60 define sess_ip=&prefix.sess_ip
61
62 define pref_tbl=&prefix.pref
63 define pref_id=&prefix.pref_id
64
65 define user_tbl=&prefix.user
66 define user_id=&prefix.user_id
67
68 define member_tbl=&prefix.member
69 define member_userid=&prefix.member_userid
70 define member_groupname=&prefix.member_groupname
71
72 define rating_tbl=&prefix.rating
73 define rating_id=&prefix.rating_id
74
75
76 prompt Dropping &page_tbl
77 DROP TABLE &page_tbl;
78 prompt Creating &page_tbl
79 CREATE TABLE &page_tbl (
80         id              INT NOT NULL,
81         pagename        VARCHAR(100) NOT NULL,
82         hits            INT DEFAULT 0 NOT NULL,
83         pagedata        CLOB DEFAULT '',
84         CONSTRAINT &page_id PRIMARY KEY (id),
85         CONSTRAINT &page_nm UNIQUE (pagename)
86 );
87
88 prompt Dropping &version_tbl
89 DROP TABLE &version_tbl;
90 prompt Creating &version_tbl
91 CREATE TABLE &version_tbl (
92         id              INT NOT NULL,
93         version         INT NOT NULL,
94         mtime           INT NOT NULL,
95         minor_edit      INT DEFAULT 0,
96         content         CLOB DEFAULT '',
97         versiondata     CLOB DEFAULT '',
98         CONSTRAINT &vers_id PRIMARY KEY (id,version)
99 );
100 CREATE INDEX &vers_mtime ON &version_tbl (mtime);
101
102 prompt Dropping &recent_tbl
103 DROP TABLE &recent_tbl;
104 prompt Creating &recent_tbl
105 CREATE TABLE &recent_tbl (
106         id              INT NOT NULL,
107         latestversion   INT,
108         latestmajor     INT,
109         latestminor     INT,
110         CONSTRAINT &recent_id PRIMARY KEY (id)
111 );
112
113 prompt Dropping &nonempty_tbl
114 DROP TABLE &nonempty_tbl;
115 prompt Creating &nonempty_tbl
116 CREATE TABLE &nonempty_tbl (
117         id              INT NOT NULL,
118         CONSTRAINT &nonempty_tbl PRIMARY KEY (id)
119 );
120
121 prompt Dropping &link_tbl
122 DROP TABLE &link_tbl;
123 prompt Creating &link_tbl
124 CREATE TABLE &link_tbl (
125         linkfrom        INT NOT NULL,
126         linkto          INT NOT NULL
127 );
128 CREATE INDEX &link_from ON &link_tbl (linkfrom);
129 CREATE INDEX &link_to   ON &link_tbl (linkto);
130
131 prompt Dropping &session_tbl
132 DROP TABLE &session_tbl;
133 prompt Creating &session_tbl
134 CREATE TABLE &session_tbl (
135         sess_id         CHAR(32) DEFAULT '',
136         sess_data       CLOB,
137         sess_date       INT,
138         sess_ip         CHAR(15) NOT NULL,
139         CONSTRAINT &sess_id PRIMARY KEY (sess_id)
140 );
141 CREATE INDEX &sess_date ON &session_tbl (sess_date);
142 CREATE INDEX &sess_ip   ON &session_tbl (sess_ip);
143
144 -- Optional DB Auth and Prefs
145 -- For these tables below the default table prefix must be used 
146 -- in the DBAuthParam SQL statements also.
147
148 prompt Dropping &pref_tbl
149 DROP TABLE &pref_tbl;
150 prompt Creating &pref_tbl
151 CREATE TABLE &pref_tbl (
152         userid  CHAR(48) NOT NULL,
153         prefs   CLOB DEFAULT '',
154         CONSTRAINT &pref_id PRIMARY KEY (userid)
155 );
156
157 -- better use the extra pref table where such users can be created easily 
158 -- without password.
159
160 prompt Dropping &user_tbl
161 DROP TABLE &user_tbl;
162 prompt Creating &user_tbl
163 CREATE TABLE &user_tbl (
164         userid  CHAR(48) NOT NULL,
165         passwd  CHAR(48) DEFAULT '',
166 --      prefs   CLOB DEFAULT '',
167 --      groupname CHAR(48) DEFAULT 'users',
168         CONSTRAINT &user_id PRIMARY KEY (userid)
169 );
170
171 prompt Dropping &member_tbl
172 DROP TABLE &member_tbl;
173 prompt Creating &member_tbl
174 CREATE TABLE &member_tbl (
175         userid    CHAR(48) NOT NULL,
176         groupname CHAR(48) DEFAULT 'users' NOT NULL
177 );
178 CREATE INDEX &member_userid ON &member_tbl (userid);
179 CREATE INDEX &member_groupname ON &member_tbl (groupname);
180
181 -- if you plan to use the wikilens theme
182 prompt Dropping &rating_tbl
183 DROP TABLE &rating_tbl;
184 prompt Creating &rating_tbl
185 CREATE TABLE &rating_tbl (
186         dimension NUMBER(4) NOT NULL,
187         raterpage NUMBER(11) NOT NULL,
188         rateepage NUMBER(11) NOT NULL,
189         ratingvalue FLOAT NOT NULL,
190         rateeversion NUMBER(11) NOT NULL,
191         tstamp TIMESTAMP NOT NULL,
192         CONSTRAINT &rating_id PRIMARY KEY (dimension, raterpage, rateepage)
193 );