From d39d52aac8f38ea9115628039f0df5aa3ac826de Mon Sep 17 00:00:00 2001 From: ivan Date: Fri, 3 Dec 2004 20:40:48 +0000 Subject: import rt 3.2.2 --- rt/etc/schema.Sybase | 444 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 444 insertions(+) create mode 100644 rt/etc/schema.Sybase (limited to 'rt/etc/schema.Sybase') diff --git a/rt/etc/schema.Sybase b/rt/etc/schema.Sybase new file mode 100644 index 000000000..67a411d13 --- /dev/null +++ b/rt/etc/schema.Sybase @@ -0,0 +1,444 @@ +# {{{ Attachments + +CREATE TABLE rt3.Attachments ( + id numeric(38,0) identity, + TransactionId integer NOT NULL , + Parent integer NOT NULL , + MessageId varchar(160) NULL , + Subject varchar(255) NULL , + Filename varchar(255) NULL , + ContentType varchar(80) NULL , + ContentEncoding varchar(80) NULL , + Content TEXT NULL , + Headers TEXT NULL , + Creator integer NOT NULL , + Created DATETIME NULL , + PRIMARY KEY (id) +) ; + +CREATE INDEX Attachments1 ON Attachments (Parent) ; +CREATE INDEX Attachments2 ON Attachments (TransactionId) ; +CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ; +# }}} + +# {{{ Queues +CREATE TABLE rt3.Queues ( + id numeric(38,0) identity, + Name varchar(200) NOT NULL , + Description varchar(255) NULL , + CorrespondAddress varchar(120) NULL , + CommentAddress varchar(120) NULL , + InitialPriority integer NOT NULL , + FinalPriority integer NOT NULL , + DefaultDueIn integer NOT NULL , + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + Disabled numeric(1) NOT NULL , + PRIMARY KEY (id) +) ; +CREATE UNIQUE INDEX Queues1 ON Queues (Name) ; +CREATE INDEX Queues2 ON Queues (Disabled) ; + +# }}} + +# {{{ Links + +CREATE TABLE rt3.Links ( + id numeric(38,0) identity, + Base varchar(240) NULL , + Target varchar(240) NULL , + Type varchar(20) NOT NULL , + LocalTarget integer NOT NULL , + LocalBase integer NOT NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + Creator integer NOT NULL , + Created DATETIME NULL , + PRIMARY KEY (id) +) ; + +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); + +# }}} + +# {{{ Principals + +CREATE TABLE rt3.Principals ( + id numeric(38,0) identity, + PrincipalType VARCHAR(16) not null, + ObjectId integer, Disabled numeric(1) NOT NULL , + PRIMARY KEY (id) +) ; + +CREATE INDEX Principals2 ON Principals (ObjectId); + +# }}} + +# {{{ Groups + +CREATE TABLE rt3.Groups ( + id numeric(38,0) identity, + Name varchar(200) NULL , + Description varchar(255) NULL , + Domain varchar(64), + Type varchar(64), + Instance integer, + PRIMARY KEY (id) +) ; + +CREATE INDEX Groups1 ON Groups (Domain,Instance,Type,id); +CREATE INDEX Groups2 On Groups (Type, Instance, Domain); + +# }}} + +# {{{ ScripConditions + +CREATE TABLE rt3.ScripConditions ( + id numeric(38,0) identity, + Name varchar(200) NULL , + Description varchar(255) NULL , + ExecModule varchar(60) NULL , + Argument varchar(255) NULL , + ApplicableTransTypes varchar(60) NULL , + + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +) ; + +# }}} + +# {{{ Transactions +CREATE TABLE rt3.Transactions ( + id numeric(38,0) identity, + EffectiveTicket integer NOT NULL , + Ticket integer NOT NULL , + TimeTaken integer NOT NULL , + Type varchar(20) NULL , + Field varchar(40) NULL , + OldValue varchar(255) NULL , + NewValue varchar(255) NULL , + Data varchar(255) NULL , + + Creator integer NOT NULL , + Created DATETIME NULL , + PRIMARY KEY (id) +) ; +CREATE INDEX Transactions1 ON Transactions (Ticket); +CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); + +# }}} + +# {{{ Scrips + +CREATE TABLE rt3.Scrips ( + id numeric(38,0) identity, + Description varchar(255), + ScripCondition integer NOT NULL , + ScripAction integer NOT NULL , + ConditionRules text NULL , + ActionRules text NULL , + CustomIsApplicableCode text NULL , + CustomPrepareCode text NULL , + CustomCommitCode text NULL , + Stage varchar(32) NULL , + Queue integer NOT NULL , + Template integer NOT NULL , + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +) ; + +# }}} + +# {{{ ACL +CREATE TABLE rt3.ACL ( + id numeric(38,0) identity, + PrincipalType varchar(25) NOT NULL, #"User" "Group", "Owner", "Cc" "AdminCc", "Requestor", "Requestor" + + PrincipalId integer NOT NULL , #Foreign key to principals + RightName varchar(25) NOT NULL , + ObjectType varchar(25) NOT NULL , + ObjectId integer NOT NULL , + DelegatedBy integer NOT NULL , #foreign key to principals with a userid + DelegatedFrom integer NOT NULL , #foreign key to ACL + PRIMARY KEY (id) +) ; + +CREATE INDEX ACL1 on ACL(RightName, ObjectType, ObjectId,PrincipalType,PrincipalId); + +# }}} + +# {{{ GroupMembers + +CREATE TABLE rt3.GroupMembers ( + id numeric(38,0) identity, + GroupId integer NOT NULL , + MemberId integer NOT NULL , #Foreign key to Principals + PRIMARY KEY (id) +) ; +CREATE UNIQUE INDEX GroupMembers1 on GroupMembers (GroupId, MemberId); + + +# }}} + +# {{{ GroupMembersCache + +CREATE TABLE rt3.CachedGroupMembers ( + id numeric(38,0) identity, + GroupId int, # foreign key to Principals + MemberId int, # foreign key to Principals + Via int, #foreign key to CachedGroupMembers. (may point to $self->id) + ImmediateParentId int, #foreign key to prinicpals. + # this points to the group that the member is + # a member of, for ease of deletes. + Disabled numeric(1) NOT NULL , # if this cached group member is a member of this group by way of a disabled + # group or this group is disabled, this will be set to 1 + # this allows us to not find members of disabled subgroups when listing off + # group members recursively. + # Also, this allows us to have the ACL system elide members of disabled groups + PRIMARY KEY (id) +) ; + +CREATE INDEX DisGrouMem on CachedGroupMembers (GroupId,MemberId,Disabled); +CREATE INDEX GrouMem on CachedGroupMembers (GroupId,MemberId); + +# }}} + +# {{{ Users + +CREATE TABLE rt3.Users ( + id numeric(38,0) identity, + Name varchar(200) NOT NULL , + Password varchar(40) NULL , + Comments text NULL , + Signature text NULL , + EmailAddress varchar(120) NULL , + FreeformContactInfo text NULL , + Organization varchar(200) NULL , + RealName varchar(120) NULL , + NickName varchar(16) NULL , + Lang varchar(16) NULL , + EmailEncoding varchar(16) NULL , + WebEncoding varchar(16) NULL , + ExternalContactInfoId varchar(100) NULL , + ContactInfoSystem varchar(30) NULL , + ExternalAuthId varchar(100) NULL , + AuthSystem varchar(30) NULL , + Gecos varchar(16) NULL , + HomePhone varchar(30) NULL , + WorkPhone varchar(30) NULL , + MobilePhone varchar(30) NULL , + PagerPhone varchar(30) NULL , + Address1 varchar(200) NULL , + Address2 varchar(200) NULL , + City varchar(100) NULL , + State varchar(100) NULL , + Zip varchar(16) NULL , + Country varchar(50) NULL , + Timezone varchar(50) NULL , + PGPKey text NULL, + + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +) ; + + +CREATE UNIQUE INDEX Users1 ON Users (Name) ; +CREATE INDEX Users2 ON Users (Name); +CREATE INDEX Users3 ON Users (id, EmailAddress); +CREATE INDEX Users4 ON Users (EmailAddress); + + +# }}} + +# {{{ Tickets + +CREATE TABLE rt3.Tickets ( + id numeric(38,0) identity, + EffectiveId integer NOT NULL , + Queue integer NOT NULL , + Type varchar(16) NULL , + IssueStatement integer NOT NULL , + Resolution integer NOT NULL , + Owner integer NOT NULL , + Subject varchar(200) NULL, + InitialPriority integer NOT NULL , + FinalPriority integer NOT NULL , + Priority integer NOT NULL , + TimeEstimated integer NOT NULL , + TimeWorked integer NOT NULL , + Status varchar(10) NULL , + TimeLeft integer NOT NULL , + Told DATETIME NULL , + Starts DATETIME NULL , + Started DATETIME NULL , + Due DATETIME NULL , + Resolved DATETIME NULL , + + + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + Creator integer NOT NULL , + Created DATETIME NULL , + Disabled numeric(1) NOT NULL , + PRIMARY KEY (id) +) ; + +CREATE INDEX Tickets1 ON Tickets (Queue, Status) ; +CREATE INDEX Tickets2 ON Tickets (Owner) ; +CREATE INDEX Tickets3 ON Tickets (EffectiveId) ; +CREATE INDEX Tickets4 ON Tickets (id, Status) ; +CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ; +CREATE INDEX Tickets6 ON Tickets (EffectiveId, Type) ; + +# }}} + +# {{{ ScripActions + +CREATE TABLE rt3.ScripActions ( + id numeric(38,0) identity, + Name varchar(200) NULL , + Description varchar(255) NULL , + ExecModule varchar(60) NULL , + Argument varchar(255) NULL , + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +) ; + +# }}} + +# {{{ Templates + +CREATE TABLE rt3.Templates ( + id numeric(38,0) identity, + Queue integer NOT NULL , + Name varchar(200) NOT NULL , + Description varchar(255) NULL , + Type varchar(16) NULL , + Language varchar(16) NULL , + TranslationOf integer NOT NULL , + Content text NULL , + LastUpdated DATETIME NULL , + LastUpdatedBy integer NOT NULL , + Creator integer NOT NULL , + Created DATETIME NULL , + PRIMARY KEY (id) +) ; + +# }}} + +# {{{ TicketCustomFieldValues + +CREATE TABLE rt3.TicketCustomFieldValues ( + id numeric(38,0) identity, + Ticket int NOT NULL , + CustomField int NOT NULL , + Content varchar(255) NULL , + + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +) ; + +CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); +CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket); + +# }}} + +# {{{ CustomFields + +CREATE TABLE rt3.CustomFields ( + id numeric(38,0) identity, + Name varchar(200) NULL , + Type varchar(200) NULL , + Queue integer NOT NULL , + Description varchar(255) NULL , + SortOrder integer NOT NULL , + + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + Disabled numeric(1) NOT NULL , + PRIMARY KEY (id) +) ; + +CREATE INDEX CustomFields1 on CustomFields (Disabled, Queue); + + +# }}} + +# {{{ CustomFieldValues + +CREATE TABLE rt3.CustomFieldValues ( + id numeric(38,0) identity, + CustomField int NOT NULL , + Name varchar(200) NULL , + Description varchar(255) NULL , + SortOrder integer NOT NULL , + + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +) ; + +CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField); + +# }}} + + +# {{{ Attributes + +CREATE TABLE rt3.Attributes ( + id numeric(38,0) identity, + Name varchar(255) NULL , + Description varchar(255) NULL , + Content text, + ContentType varchar(16), + ObjectType varchar(64), + ObjectId integer, # foreign key to anything + Creator integer NOT NULL , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +) ; + +CREATE INDEX Attributes1 on Attributes(Name); +CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); + +# }}} + +# {{{ Sessions + +# sessions is used by Apache::Session to keep sessions in the database. +# We should have a reaper script somewhere. + +CREATE TABLE rt3.sessions ( + id char(32) NOT NULL, + a_session TEXT, + LastUpdated DATETIME, + PRIMARY KEY (id) +); + +# }}} -- cgit v1.2.1