File: schema.Oracle

package info (click to toggle)
request-tracker4 4.4.3-2%2Bdeb10u2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 43,364 kB
  • sloc: perl: 61,929; javascript: 22,938; sh: 1,084; makefile: 467; php: 15
file content (541 lines) | stat: -rw-r--r-- 20,309 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541

CREATE SEQUENCE ATTACHMENTS_seq;
CREATE TABLE Attachments (
        id              NUMBER(11,0) 
                        CONSTRAINT Attachments_Key PRIMARY KEY,
        TransactionId   NUMBER(11,0) NOT NULL,
        Parent          NUMBER(11,0) DEFAULT 0 NOT NULL, 
        MessageId       VARCHAR2(160),
        Subject         VARCHAR2(255),
        Filename        VARCHAR2(255),
        ContentType     VARCHAR2(80),
        ContentEncoding VARCHAR2(80),
        Content         CLOB,
        Headers         CLOB,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE
);
CREATE INDEX Attachments2 ON Attachments (TransactionId);
CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId);
CREATE INDEX Attachments4 ON Attachments (Filename);


CREATE SEQUENCE QUEUES_seq;
CREATE TABLE Queues (
        id                      NUMBER(11,0) 
                CONSTRAINT Queues_Key PRIMARY KEY,
        Name                    VARCHAR2(200) CONSTRAINT Queues_Name_Unique UNIQUE NOT NULL,
        Description             VARCHAR2(255),
        CorrespondAddress       VARCHAR2(120),
        CommentAddress          VARCHAR2(120),
        Lifecycle               VARCHAR2(32),
        SubjectTag              VARCHAR2(120),
        SortOrder               NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator                 NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created                 DATE,
        LastUpdatedBy           NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated             DATE,
        SLADisabled             NUMBER(11,0) DEFAULT 1 NOT NULL,
        Disabled                NUMBER(11,0) DEFAULT 0 NOT NULL
);
CREATE UNIQUE INDEX Queues1 ON Queues (LOWER(Name));
CREATE INDEX Queues2 ON Queues (Disabled);


CREATE SEQUENCE LINKS_seq;
CREATE TABLE Links (
        id              NUMBER(11,0) 
                CONSTRAINT Links_Key PRIMARY KEY,
        Base            VARCHAR2(240),
        Target          VARCHAR2(240),
        Type            VARCHAR2(20) NOT NULL,
        LocalTarget     NUMBER(11,0) DEFAULT 0 NOT NULL,
        LocalBase       NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE
);
CREATE UNIQUE INDEX Links1 ON Links (Base, Target, Type);
CREATE INDEX Links2 ON Links (Base, Type);
CREATE INDEX Links3 ON Links (Target, Type);
CREATE INDEX Links4 ON Links(Type,LocalBase);


CREATE SEQUENCE PRINCIPALS_seq;
CREATE TABLE Principals (
        id              NUMBER(11,0) 
                CONSTRAINT Principals_Key PRIMARY KEY,
        PrincipalType   VARCHAR2(16),
        Disabled        NUMBER(11,0) DEFAULT 0 NOT NULL
);

CREATE SEQUENCE GROUPS_seq;
CREATE TABLE Groups (
        id              NUMBER(11,0) 
                CONSTRAINT Groups_Key PRIMARY KEY,
        Name            VARCHAR2(200),
        Description     VARCHAR2(255),
        Domain          VARCHAR2(64),
        Instance        NUMBER(11,0) DEFAULT 0, -- NOT NULL
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE
--      Instance        VARCHAR2(64)
);
CREATE INDEX Groups1 ON Groups (LOWER(Domain), LOWER(Name), Instance);
CREATE INDEX Groups2 ON Groups (Instance);


CREATE SEQUENCE SCRIPCONDITIONS_seq;
CREATE TABLE ScripConditions (
        id                      NUMBER(11, 0) 
                CONSTRAINT ScripConditions_Key PRIMARY KEY,
        Name                    VARCHAR2(200),
        Description             VARCHAR2(255),
        ExecModule              VARCHAR2(60),
        Argument                VARCHAR2(255),
        ApplicableTransTypes    VARCHAR2(60),
        Creator                 NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created                 DATE,
        LastUpdatedBy           NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated             DATE
);


CREATE SEQUENCE TRANSACTIONS_seq;
CREATE TABLE Transactions (
        id                      NUMBER(11,0) 
                CONSTRAINT Transactions_Key PRIMARY KEY,
        ObjectType              VARCHAR2(255),
        ObjectId                NUMBER(11,0) DEFAULT 0 NOT NULL,
        TimeTaken               NUMBER(11,0) DEFAULT 0 NOT NULL,
        Type                    VARCHAR2(20),
        Field                   VARCHAR2(40),
        OldValue                VARCHAR2(255),
        NewValue                VARCHAR2(255),
        ReferenceType           VARCHAR2(255),
        OldReference            NUMBER(11,0),
        NewReference            NUMBER(11,0),
        Data                    VARCHAR2(255),
        Creator                 NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created                 DATE
);
CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId);


CREATE SEQUENCE SCRIPS_seq;
CREATE TABLE Scrips (
        id              NUMBER(11,0) 
                CONSTRAINT Scrips_Key PRIMARY KEY,      
        Description     VARCHAR2(255),
        ScripCondition  NUMBER(11,0) DEFAULT 0 NOT NULL,
        ScripAction     NUMBER(11,0) DEFAULT 0 NOT NULL,
        CustomIsApplicableCode  CLOB,
        CustomPrepareCode       CLOB,
        CustomCommitCode        CLOB,
        Disabled        NUMBER(11,0) DEFAULT 0 NOT NULL,
        Template        VARCHAR2(200) NOT NULL,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE  
);

CREATE SEQUENCE OBJECTSCRIPS_seq;
CREATE TABLE ObjectScrips (
        id              NUMBER(11,0)
                 CONSTRAINT ObjectScrips_Key PRIMARY KEY,
        Scrip       NUMBER(11,0)  NOT NULL,
        Stage           VARCHAR2(32) DEFAULT 'TransactionCreate' NOT NULL,
        ObjectId              NUMBER(11,0)  NOT NULL,
        SortOrder       NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE
);
CREATE UNIQUE INDEX ObjectScrips1 ON ObjectScrips (ObjectId, Scrip);

CREATE SEQUENCE ACL_seq;
CREATE TABLE ACL (
        id              NUMBER(11,0) 
                CONSTRAINT ACL_Key PRIMARY KEY,
        PrincipalType   VARCHAR2(25) NOT NULL,
        PrincipalId     NUMBER(11,0) NOT NULL,
        RightName       VARCHAR2(25) NOT NULL,
        ObjectType      VARCHAR2(25) NOT NULL,
        ObjectId        NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE
);
CREATE INDEX ACL1 ON ACL(RightName, ObjectType, ObjectId, PrincipalType, PrincipalId);


CREATE SEQUENCE GROUPMEMBERS_seq;
CREATE TABLE GroupMembers (
        id              NUMBER(11,0) 
                CONSTRAINT GroupMembers_Key PRIMARY KEY,
        GroupId         NUMBER(11,0) DEFAULT 0 NOT NULL,
        MemberId        NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE
);
CREATE UNIQUE INDEX GroupMembers1 ON GroupMembers (GroupId, MemberId);


CREATE SEQUENCE CachedGroupMembers_seq;
CREATE TABLE CachedGroupMembers (
        id              NUMBER(11,0) 
                CONSTRAINT CachedGroupMembers_Key PRIMARY KEY,
        GroupId         NUMBER(11,0),
        MemberId        NUMBER(11,0),
        Via             NUMBER(11,0),
        ImmediateParentId       NUMBER(11,0),
        Disabled        NUMBER(11,0) DEFAULT 0 NOT NULL
);
CREATE INDEX DisGrouMem ON CachedGroupMembers (GroupId, MemberId, Disabled);
CREATE INDEX CachedGroupMembers2 ON CachedGroupMembers (MemberId, GroupId, Disabled);
CREATE INDEX CachedGroupMembers3 on CachedGroupMembers (MemberId, ImmediateParentId);


CREATE SEQUENCE USERS_seq;
CREATE TABLE Users (
        id                      NUMBER(11,0) 
                CONSTRAINT Users_Key PRIMARY KEY,
        Name                    VARCHAR2(200) CONSTRAINT Users_Name_Unique 
                unique  NOT NULL,
        Password                VARCHAR2(256),
        AuthToken               VARCHAR2(16),
        Comments                CLOB,
        Signature               CLOB,
        EmailAddress            VARCHAR2(120),
        FreeFormContactInfo     CLOB,
        Organization            VARCHAR2(200),
        RealName                VARCHAR2(120),
        NickName                VARCHAR2(16),
        Lang                    VARCHAR2(16),
        Gecos                   VARCHAR2(16),
        HomePhone               VARCHAR2(30),
        WorkPhone               VARCHAR2(30),
        MobilePhone             VARCHAR2(30),
        PagerPhone              VARCHAR2(30),
        Address1                VARCHAR2(200),
        Address2                VARCHAR2(200),
        City                    VARCHAR2(100),
        State                   VARCHAR2(100),
        Zip                     VARCHAR2(16),
        Country                 VARCHAR2(50),
        Timezone                VARCHAR2(50),
        SMIMECertificate        CLOB,
        Creator                 NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created                 DATE,
        LastUpdatedBy           NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated             DATE
);

CREATE UNIQUE INDEX Users1 ON Users (LOWER(Name));
CREATE INDEX Users4 ON Users (LOWER(EmailAddress));


CREATE SEQUENCE TICKETS_seq;
CREATE TABLE Tickets (
       id                      NUMBER(11, 0) 
               CONSTRAINT Tickets_Key PRIMARY KEY,
        EffectiveId             NUMBER(11,0) DEFAULT 0 NOT NULL,
        IsMerged                NUMBER(11,0) DEFAULT NULL NULL,
        Queue                   NUMBER(11,0) DEFAULT 0 NOT NULL,
        Type                    VARCHAR2(16),           
        Owner                   NUMBER(11,0) DEFAULT 0 NOT NULL,
        Subject                 VARCHAR2(200) DEFAULT '[no subject]', 
        InitialPriority         NUMBER(11,0) DEFAULT 0 NOT NULL,
        FinalPriority           NUMBER(11,0) DEFAULT 0 NOT NULL,
        Priority                NUMBER(11,0) DEFAULT 0 NOT NULL,
        TimeEstimated           NUMBER(11,0) DEFAULT 0 NOT NULL,
        TimeWorked              NUMBER(11,0) DEFAULT 0 NOT NULL,
        Status                  VARCHAR2(64),           
        SLA                     VARCHAR2(64),
        TimeLeft                NUMBER(11,0) DEFAULT 0 NOT NULL,
        Told                    DATE,
        Starts                  DATE,
        Started                 DATE,
        Due                     DATE,
        Resolved                DATE,
        LastUpdatedBy           NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated             DATE,
        Creator                 NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created                 DATE
);
CREATE INDEX Tickets1 ON Tickets (Queue, Status);
CREATE INDEX Tickets2 ON Tickets (Owner);
CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type);


CREATE SEQUENCE SCRIPACTIONS_seq;
CREATE TABLE ScripActions (
  id            NUMBER(11,0) 
                CONSTRAINT ScripActions_Key PRIMARY KEY,
  Name          VARCHAR2(200),
  Description   VARCHAR2(255),
  ExecModule    VARCHAR2(60),
  Argument      VARCHAR2(255),
  Creator       NUMBER(11,0) DEFAULT 0 NOT NULL,
  Created       DATE,
  LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
  LastUpdated   DATE
);


CREATE SEQUENCE TEMPLATES_seq;
CREATE TABLE Templates (
        id              NUMBER(11,0) 
                CONSTRAINT Templates_Key PRIMARY KEY,
        Queue           NUMBER(11,0) DEFAULT 0 NOT NULL,
        Name            VARCHAR2(200) NOT NULL,
        Description     VARCHAR2(255),
        Type            VARCHAR2(16),
        Content         CLOB,
        LastUpdated     DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE
);


CREATE SEQUENCE OBJECTCUSTOMFIELDS_seq;
CREATE TABLE ObjectCustomFields (
        id              NUMBER(11,0)
                 CONSTRAINT ObjectCustomFields_Key PRIMARY KEY,
        CustomField       NUMBER(11,0)  NOT NULL,
        ObjectId              NUMBER(11,0)  NOT NULL,
        SortOrder       NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE
);


CREATE SEQUENCE OBJECTCUSTOMFIELDVALUES_seq;
CREATE TABLE ObjectCustomFieldValues (
        id              NUMBER(11,0) 
                CONSTRAINT ObjectCustomFieldValues_Key PRIMARY KEY,
        CustomField     NUMBER(11,0) NOT NULL,
        ObjectType      VARCHAR2(25) NOT NULL,
        ObjectId        NUMBER(11,0) DEFAULT 0 NOT NULL,
        SortOrder       NUMBER(11,0) DEFAULT 0 NOT NULL,
        Content         VARCHAR2(255),
        LargeContent    CLOB,
        ContentType     VARCHAR2(80),
        ContentEncoding VARCHAR2(80),
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE,
        Disabled        NUMBER(11,0) DEFAULT 0 NOT NULL
);

CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content); 
CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); 

CREATE SEQUENCE CUSTOMFIELDS_seq;
CREATE TABLE CustomFields (
        id                NUMBER(11,0) 
                CONSTRAINT CustomFields_Key PRIMARY KEY,
        Name              VARCHAR2(200),
        Type              VARCHAR2(200),
        RenderType        VARCHAR2(64),
        MaxValues         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Pattern           CLOB,
        ValuesClass       VARCHAR2(64),
        BasedOn           NUMBER(11,0) NULL,
        Description       VARCHAR2(255),
        SortOrder         NUMBER(11,0) DEFAULT 0 NOT NULL,
        LookupType        VARCHAR2(255),
        EntryHint         VARCHAR2(255) NULL,
        UniqueValues      NUMBER(11,0) DEFAULT 0 NOT NULL,
        CanonicalizeClass VARCHAR2(64),
        Creator           NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created           DATE,
        LastUpdatedBy     NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated       DATE,
        Disabled          NUMBER(11,0) DEFAULT 0 NOT NULL
);


CREATE SEQUENCE CUSTOMFIELDVALUES_seq;
CREATE TABLE CustomFieldValues (
        id              NUMBER(11,0) 
                CONSTRAINT CustomFieldValues_Key PRIMARY KEY,
        CustomField     NUMBER(11,0),
        Name            VARCHAR2(200),
        Description     VARCHAR2(255),
        SortOrder       NUMBER(11,0) DEFAULT 0 NOT NULL,
    Category    VARCHAR2(255),
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE
);

CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField);

CREATE SEQUENCE ATTRIBUTES_seq;
CREATE TABLE Attributes (
        id                      NUMBER(11,0) PRIMARY KEY,
        Name                    VARCHAR2(255) NOT NULL,
        Description             VARCHAR2(255),
        Content         CLOB,
    ContentType VARCHAR(16),
        ObjectType      VARCHAR2(25) NOT NULL,
        ObjectId        NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator                 NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created                 DATE,
        LastUpdatedBy           NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated             DATE
);

CREATE INDEX Attributes1 on Attributes(Name);
CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId);


CREATE TABLE sessions (
        id              VARCHAR2(32) 
                CONSTRAINT Sessions_Key PRIMARY KEY,
        a_session       CLOB,
        LastUpdated     DATE
);

CREATE SEQUENCE Classes_seq;
CREATE TABLE Classes (
id NUMBER(11,0)
  CONSTRAINT Classes_key PRIMARY KEY,
Name varchar2(255) DEFAULT '',
Description varchar2(255) DEFAULT '',
SortOrder NUMBER(11,0) DEFAULT 0 NOT NULL,
Disabled NUMBER(11,0) DEFAULT 0 NOT NULL,
Creator NUMBER(11,0) DEFAULT 0 NOT NULL,
Created DATE,
LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
LastUpdated DATE,
HotList NUMBER(11,0) DEFAULT 0 NOT NULL
);

CREATE SEQUENCE Articles_seq;
CREATE TABLE Articles (
id NUMBER(11,0)
  CONSTRAINT Articles_key PRIMARY KEY,
Name varchar2(255) DEFAULT '',
Summary varchar2(255) DEFAULT '',
SortOrder NUMBER(11,0) DEFAULT 0 NOT NULL,
Class NUMBER(11,0) DEFAULT 0 NOT NULL,
Parent NUMBER(11,0) DEFAULT 0 NOT NULL,
URI varchar2(255),
Disabled NUMBER(11,0) DEFAULT 0 NOT NULL,
Creator NUMBER(11,0) DEFAULT 0 NOT NULL,
Created DATE,
LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
LastUpdated DATE
);


CREATE SEQUENCE Topics_seq;
CREATE TABLE Topics (
id NUMBER(11,0)
  CONSTRAINT Topics_key PRIMARY KEY,
Parent NUMBER(11,0) DEFAULT 0 NOT NULL,
Name varchar2(255) DEFAULT '',
Description varchar2(255) DEFAULT '',
ObjectType varchar2(64) DEFAULT '' NOT NULL,
ObjectId NUMBER(11,0) NOT NULL
);


CREATE SEQUENCE ObjectTopics_seq;
CREATE TABLE ObjectTopics (
id NUMBER(11,0)
  CONSTRAINT ObjectTopics_key PRIMARY KEY,
Topic NUMBER(11,0) NOT NULL,
ObjectType varchar2(64) DEFAULT '' NOT NULL,
ObjectId NUMBER(11,0) NOT NULL
);

CREATE SEQUENCE ObjectClasses_seq;
CREATE TABLE ObjectClasses (
id NUMBER(11,0)
  CONSTRAINT ObjectClasses_key PRIMARY KEY,
Class NUMBER(11,0) NOT NULL,
ObjectType varchar2(255) DEFAULT '' NOT NULL,
ObjectId NUMBER(11,0) NOT NULL,
Creator NUMBER(11,0) DEFAULT 0 NOT NULL,
Created DATE,
LastUpdatedBy NUMBER(11,0) DEFAULT 0 NOT NULL,
LastUpdated DATE
);

CREATE SEQUENCE Assets_seq;
CREATE TABLE Assets (
    id              NUMBER(11,0)    CONSTRAINT Assets_key PRIMARY KEY,
    Name            varchar2(255)   DEFAULT '',
    Catalog         NUMBER(11,0)    DEFAULT 0 NOT NULL,
    Status          varchar2(64)    DEFAULT '',
    Description     varchar2(255)   DEFAULT '',
    Creator         NUMBER(11,0)    DEFAULT 0 NOT NULL,
    Created         DATE,
    LastUpdatedBy   NUMBER(11,0)    DEFAULT 0 NOT NULL,
    LastUpdated     DATE
);

CREATE INDEX AssetsName ON Assets (LOWER(Name));
CREATE INDEX AssetsStatus ON Assets (Status);
CREATE INDEX AssetsCatalog ON Assets (Catalog);

CREATE SEQUENCE Catalogs_seq;
CREATE TABLE Catalogs (
    id              NUMBER(11,0)    CONSTRAINT Catalogs_key PRIMARY KEY,
    Name            varchar2(255)   DEFAULT '',
    Lifecycle       varchar2(32)    DEFAULT 'assets',
    Description     varchar2(255)   DEFAULT '',
    Disabled        NUMBER(11,0)    DEFAULT 0 NOT NULL,
    Creator         NUMBER(11,0)    DEFAULT 0 NOT NULL,
    Created         DATE,
    LastUpdatedBy   NUMBER(11,0)    DEFAULT 0 NOT NULL,
    LastUpdated     DATE
);

CREATE INDEX CatalogsName ON Catalogs (LOWER(Name));
CREATE INDEX CatalogsDisabled ON Catalogs (Disabled);

CREATE SEQUENCE CUSTOMROLES_seq;
CREATE TABLE CustomRoles (
        id              NUMBER(11,0)
                CONSTRAINT CustomRoles_Key PRIMARY KEY,
        Name            VARCHAR2(200),
        Description     VARCHAR2(255),
        MaxValues       NUMBER(11,0) DEFAULT 0 NOT NULL,
        EntryHint       VARCHAR2(255),
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE,
        Disabled        NUMBER(11,0) DEFAULT 0 NOT NULL
);

CREATE SEQUENCE OBJECTCUSTOMROLES_seq;
CREATE TABLE ObjectCustomRoles (
        id              NUMBER(11,0)
                 CONSTRAINT ObjectCustomRoles_Key PRIMARY KEY,
        CustomRole       NUMBER(11,0)  NOT NULL,
        ObjectId              NUMBER(11,0)  NOT NULL,
        SortOrder       NUMBER(11,0) DEFAULT 0 NOT NULL,
        Creator         NUMBER(11,0) DEFAULT 0 NOT NULL,
        Created         DATE,
        LastUpdatedBy   NUMBER(11,0) DEFAULT 0 NOT NULL,
        LastUpdated     DATE
);
CREATE UNIQUE INDEX ObjectCustomRoles1 ON ObjectCustomRoles (ObjectId, CustomRole);