1 -- -----------------------------------------------------------------------------
3 -- File: $RCSfile: ccdb.sql,v $
4 -- Revision: $Revision: 1.3 $
5 -- Description: Clearcase DB
6 -- Author: Andrew@ClearSCM.com
7 -- Created: Wed Mar 14 15:53:12 PDT 2011
8 -- Modified: $Date: 2011/04/15 22:19:21 $
11 -- Copyright (c) 2011, Tellabs, Inc., all rights reserved
13 -- -----------------------------------------------------------------------------
14 -- Warning: The following line will delete the old database!
15 drop database if exists ccdb;
17 -- Create a new database
20 -- Now let's focus on this new database
23 -- registry: Defines a registry region
24 create table registry (
25 name varchar (767) collate latin1_general_cs not null,
28 ) type=innodb; -- registry
30 -- region: Defines a region within a registry
32 name varchar (767) collate latin1_general_cs not null,
33 registry varchar (767) collate latin1_general_cs not null,
35 primary key (registry, name),
36 key regionIndex (name),
37 foreign key registryLink (registry) references registry (name)
40 ) type=innodb; -- region
45 name varchar (767) collate latin1_general_cs not null,
46 epoch bigint default 0,
50 ) not null default 'base',
56 -- folder: Defines a UCM folder
59 name varchar (767) collate latin1_general_cs not null,
60 pvob varchar (767) collate latin1_general_cs not null,
64 foreign key pvobLink (pvob) references vob (name)
67 ) type=innodb; -- folder
69 -- subfolder: Defines a UCM subfolder
70 create table subfolder (
71 parent varchar (767) collate latin1_general_cs not null,
72 subfolder varchar (767) collate latin1_general_cs not null,
73 pvob varchar (767) collate latin1_general_cs not null,
75 primary key (parent, subfolder, pvob),
76 foreign key parentLink (parent) references folder (name)
79 foreign key subfolderLink (subfolder) references folder (name)
82 foreign key pvobLink (pvob) references vob (name)
85 ) type=innodb; -- subfolder
87 -- project: Defines a UCM project
88 create table project (
90 name varchar (767) collate latin1_general_cs not null,
91 folder varchar (767) collate latin1_general_cs not null,
92 pvob varchar (767) collate latin1_general_cs not null,
95 key projectIndex (name),
96 key folderIndex (folder),
97 foreign key folderLink (folder) references folder (name)
100 foreign key pvobLink (pvob) references vob (name)
103 ) type=innodb; -- project
105 -- stream: Defines a UCM stream
106 create table stream (
108 name varchar (767) collate latin1_general_cs not null,
109 pvob varchar (767) collate latin1_general_cs not null,
110 project varchar (767) collate latin1_general_cs not null,
114 ) not null default 'regular',
117 key streamIndex (name),
118 foreign key pvobLink (pvob) references vob (name)
121 foreign key projectLink (project) references project (name)
124 ) type=innodb; -- stream
126 -- activity: Defines an activity
127 create table activity (
129 name varchar (767) collate latin1_general_cs not null,
130 pvob varchar (767) collate latin1_general_cs not null,
134 ) not null default 'regular',
138 key activityIndex (name),
139 foreign key pvobLink (pvob) references vob (name)
142 ) type=innodb; -- activity
144 -- baseline: Defines a baseline
145 create table baseline (
147 name varchar (767) collate latin1_general_cs not null,
148 pvob varchar (767) collate latin1_general_cs not null,
151 key baselineIndex (name),
152 foreign key pvobLink (pvob) references vob (name)
155 ) type=innodb; -- baseline
158 create table stream_activity_xref (
159 stream varchar (767) collate latin1_general_cs not null,
160 activity varchar (767) collate latin1_general_cs not null,
161 pvob varchar (767) collate latin1_general_cs not null,
163 primary key (stream, activity, pvob),
164 key streamIndex (stream),
165 key activityIndex (activity),
166 key pvobIndex (pvob),
167 foreign key streamLink (stream) references stream (name)
170 foreign key activityLink (activity) references activity (name)
173 foreign key pvobLink (pvob) references vob (name)
176 ) type=innodb; -- stream_activity_xref
178 create table stream_baseline_xref (
179 stream varchar (767) collate latin1_general_cs not null,
180 baseline varchar (767) collate latin1_general_cs not null,
181 pvob varchar (767) collate latin1_general_cs not null,
183 primary key (stream, baseline, pvob),
184 key streamIndex (stream),
185 key baselineIndex (baseline),
186 key pvobIndex (pvob),
187 foreign key streamLink (stream) references stream (name)
190 foreign key baselineLink (baseline) references baseline (name)
193 foreign key pvobLink (pvob) references vob (name)
196 ) type=innodb; -- stream_baseline_xref
199 create table changeset (
200 activity varchar (767) collate latin1_general_cs not null,
201 element varchar (767) collate latin1_general_cs not null,
202 version varchar (767) collate latin1_general_cs not null,
203 pvob varchar (767) collate latin1_general_cs not null,
206 primary key (activity, element, version, pvob),
207 key activityIndex (activity),
208 key elementIndex (element),
209 key elementVersionIndex (version),
210 foreign key activityLink (activity) references activity (name)
213 foreign key pvobLink (pvob) references vob (name)
216 ) type=innodb; -- changeset
218 create table baseline_activity_xref (
219 baseline varchar (767) collate latin1_general_cs not null,
220 activity varchar (767) collate latin1_general_cs not null,
221 pvob varchar (767) collate latin1_general_cs not null,
223 primary key (baseline, activity, pvob),
224 key baselineIndex (baseline),
225 key activityIndex (activity),
226 foreign key baselineLink (baseline) references baseline (name)
229 foreign key activityLink (activity) references activity (name)
232 foreign key pvobLink (pvob) references vob (name)
235 ) type=innodb; -- baseline_activity_xref