X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fetc%2Fschema.SQLite;h=c50e5b122c442a0691f7136ca6efe65aeb8132f7;hb=7903b3fb9ae73fc5fb46f98575141fbe9713f880;hp=b10ff46d10f055f4162a7602079fb2ce1f5fb65c;hpb=289340780927b5bac2c7604d7317c3063c6dd8cc;p=freeside.git diff --git a/rt/etc/schema.SQLite b/rt/etc/schema.SQLite index b10ff46d1..c50e5b122 100644 --- a/rt/etc/schema.SQLite +++ b/rt/etc/schema.SQLite @@ -3,15 +3,15 @@ CREATE TABLE Attachments ( id INTEGER PRIMARY KEY , TransactionId INTEGER , - Parent integer NULL , - MessageId varchar(160) NULL , - Subject varchar(255) NULL , - Filename varchar(255) NULL , - ContentType varchar(80) NULL , - ContentEncoding varchar(80) NULL , - Content LONGTEXT NULL , - Headers LONGTEXT NULL , - Creator integer NULL , + Parent integer NULL DEFAULT 0 , + MessageId varchar(160) collate NOCASE NULL , + Subject varchar(255) collate NOCASE NULL , + Filename varchar(255) collate NOCASE NULL , + ContentType varchar(80) collate NOCASE NULL , + ContentEncoding varchar(80) collate NOCASE NULL , + Content LONGTEXT collate NOCASE NULL , + Headers LONGTEXT collate NOCASE NULL , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL ) ; @@ -24,16 +24,18 @@ CREATE INDEX Attachments3 ON Attachments (Parent, TransactionId) ; --- {{{ Queues CREATE TABLE Queues ( id INTEGER PRIMARY KEY , - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - CorrespondAddress varchar(120) NULL , - CommentAddress varchar(120) NULL , - InitialPriority integer NULL , - FinalPriority integer NULL , - DefaultDueIn integer NULL , - Creator integer NULL , + Name varchar(200) collate NOCASE NOT NULL , + Description varchar(255) collate NOCASE NULL , + CorrespondAddress varchar(120) collate NOCASE NULL , + CommentAddress varchar(120) collate NOCASE NULL , + Lifecycle varchar(32) collate NOCASE NULL , + SubjectTag varchar(120) collate NOCASE NULL , + InitialPriority integer NULL DEFAULT 0 , + FinalPriority integer NULL DEFAULT 0 , + DefaultDueIn integer NULL DEFAULT 0 , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , + LastUpdatedBy integer NULL DEFAULT 0 , LastUpdated DATETIME NULL , Disabled int2 NOT NULL DEFAULT 0 @@ -46,14 +48,14 @@ CREATE UNIQUE INDEX Queues1 ON Queues (Name) ; CREATE TABLE Links ( id INTEGER PRIMARY KEY , - Base varchar(240) NULL , - Target varchar(240) NULL , - Type varchar(20) NOT NULL , - LocalTarget integer NULL , - LocalBase integer NULL , - LastUpdatedBy integer NULL , + Base varchar(240) collate NOCASE NULL , + Target varchar(240) collate NOCASE NULL , + Type varchar(20) collate NOCASE NOT NULL , + LocalTarget integer NULL DEFAULT 0 , + LocalBase integer NULL DEFAULT 0 , + LastUpdatedBy integer NULL DEFAULT 0 , LastUpdated DATETIME NULL , - Creator integer NULL , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL ) ; @@ -66,7 +68,7 @@ CREATE INDEX Links4 ON Links(Type,LocalBase); CREATE TABLE Principals ( id INTEGER PRIMARY KEY, - PrincipalType VARCHAR(16) not null, + PrincipalType VARCHAR(16) collate NOCASE not null, ObjectId integer, Disabled int2 NOT NULL DEFAULT 0 @@ -78,15 +80,21 @@ CREATE TABLE Principals ( CREATE TABLE Groups ( id INTEGER , - Name varchar(200) NULL , - Description varchar(255) NULL , - Domain varchar(64), - Type varchar(64), - Instance integer + Name varchar(200) collate NOCASE NULL , + Description varchar(255) collate NOCASE NULL , + Domain varchar(64) collate NOCASE, + Type varchar(64) collate NOCASE, + Instance integer, + Creator integer NOT NULL DEFAULT 0 , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL ) ; -CREATE UNIQUE INDEX Groups1 ON Groups (Name,Domain,Type,Instance) ; +CREATE INDEX Groups1 ON Groups (Domain,Type,Instance); +CREATE INDEX Groups2 ON Groups (Domain,Name,Instance); +CREATE INDEX Groups3 ON Groups (Instance); --- }}} @@ -94,15 +102,15 @@ CREATE UNIQUE INDEX Groups1 ON Groups (Name,Domain,Type,Instance) ; CREATE TABLE ScripConditions ( id INTEGER PRIMARY KEY , - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - ApplicableTransTypes varchar(60) NULL , + Name varchar(200) collate NOCASE NULL , + Description varchar(255) collate NOCASE NULL , + ExecModule varchar(60) collate NOCASE NULL , + Argument varchar(255) collate NOCASE NULL , + ApplicableTransTypes varchar(60) collate NOCASE NULL , - Creator integer NULL , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , + LastUpdatedBy integer NULL DEFAULT 0 , LastUpdated DATETIME NULL ) ; @@ -112,21 +120,23 @@ CREATE TABLE ScripConditions ( --- {{{ Transactions CREATE TABLE Transactions ( id INTEGER PRIMARY KEY , - EffectiveTicket integer NULL , - Ticket integer NULL , - TimeTaken integer NULL , - Type varchar(20) NULL , - Field varchar(40) NULL , - OldValue varchar(255) NULL , - NewValue varchar(255) NULL , - Data varchar(255) NULL , - - Creator integer NULL , + ObjectType varchar(255) collate NOCASE NULL , + ObjectId integer NULL DEFAULT 0 , + TimeTaken integer NULL DEFAULT 0 , + Type varchar(20) collate NOCASE NULL , + Field varchar(40) collate NOCASE NULL , + OldValue varchar(255) collate NOCASE NULL , + NewValue varchar(255) collate NOCASE NULL , + ReferenceType varchar(255) collate NOCASE NULL , + OldReference integer NULL , + NewReference integer NULL , + Data varchar(255) collate NOCASE NULL , + + Creator integer NULL DEFAULT 0 , Created DATETIME NULL ) ; -CREATE INDEX Transactions1 ON Transactions (Ticket); -CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); +CREATE INDEX Transactions1 ON Transactions (ObjectType, ObjectId); --- }}} @@ -134,37 +144,51 @@ CREATE INDEX Transactions2 ON Transactions (EffectiveTicket); CREATE TABLE Scrips ( id INTEGER PRIMARY KEY , - Description varchar(255), - ScripCondition integer NULL , - ScripAction integer NULL , - ConditionRules text NULL , - ActionRules text NULL , - CustomIsApplicableCode text NULL , - CustomPrepareCode text NULL , - CustomCommitCode text NULL , - Stage varchar(32) NULL , - Queue integer NULL , - Template integer NULL , - Creator integer NULL , + Description varchar(255) collate NOCASE, + ScripCondition integer NULL DEFAULT 0 , + ScripAction integer NULL DEFAULT 0 , + CustomIsApplicableCode text collate NOCASE NULL , + CustomPrepareCode text collate NOCASE NULL , + CustomCommitCode text collate NOCASE NULL , + Disabled int2 NOT NULL DEFAULT 0 , + Template varchar(200) collate NOCASE NOT NULL , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , + LastUpdatedBy integer NULL DEFAULT 0 , LastUpdated DATETIME NULL ) ; --- }}} +CREATE TABLE ObjectScrips ( + id INTEGER NOT NULL , + Scrip int NOT NULL , + Stage varchar(32) collate NOCASE NOT NULL DEFAULT 'TransactionCreate' , + ObjectId integer NOT NULL, + SortOrder integer NOT NULL DEFAULT 0 , + + Creator integer NOT NULL DEFAULT 0 , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) +); +CREATE UNIQUE INDEX ObjectScrips1 ON ObjectScrips (ObjectId, Scrip); + --- {{{ ACL CREATE TABLE ACL ( id INTEGER PRIMARY KEY , - PrincipalType varchar(25) NOT NULL, + PrincipalType varchar(25) collate NOCASE NOT NULL, - PrincipalId INTEGER, - RightName varchar(25) NOT NULL , - ObjectType varchar(25) NOT NULL , + PrincipalId INTEGER DEFAULT 0, + RightName varchar(25) collate NOCASE NOT NULL , + ObjectType varchar(25) collate NOCASE NOT NULL , ObjectId INTEGER default 0, - DelegatedBy integer NOT NULL default 0, - DelegatedFrom integer NOT NULL default 0 + Creator integer NOT NULL DEFAULT 0 , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL ) ; @@ -175,11 +199,17 @@ CREATE TABLE ACL ( CREATE TABLE GroupMembers ( id INTEGER PRIMARY KEY , - GroupId integer NULL, - MemberId integer NULL + GroupId integer NULL DEFAULT 0, + MemberId integer NULL DEFAULT 0, + Creator integer NOT NULL DEFAULT 0 , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL ) ; +CREATE UNIQUE INDEX GroupMembers1 ON GroupMembers(GroupId, MemberId); + --- }}} --- {{{ CachedGroupMembers @@ -199,53 +229,57 @@ create table CachedGroupMembers ( ) ; +CREATE INDEX CachedGroupMembers1 ON CachedGroupMembers (GroupId, MemberId, Disabled); +CREATE INDEX CachedGroupMembers2 ON CachedGroupMembers (MemberId, GroupId, Disabled); +CREATE INDEX CachedGroupMembers3 ON CachedGroupMembers (MemberId, ImmediateParentId); + --- }}} --- {{{ Users CREATE TABLE Users ( id INTEGER , - Name varchar(200) NOT NULL , - Password varchar(40) NULL , + Name varchar(200) collate NOCASE NOT NULL , + Password varchar(256) collate NOCASE NULL , + AuthToken varchar(16) collate NOCASE NULL , Comments blob NULL , Signature blob NULL , - EmailAddress varchar(120) NULL , + EmailAddress varchar(120) collate NOCASE NULL , FreeformContactInfo blob 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 , + Organization varchar(200) collate NOCASE NULL , + RealName varchar(120) collate NOCASE NULL , + NickName varchar(16) collate NOCASE NULL , + Lang varchar(16) collate NOCASE NULL , + EmailEncoding varchar(16) collate NOCASE NULL , + WebEncoding varchar(16) collate NOCASE NULL , + ExternalContactInfoId varchar(100) collate NOCASE NULL , + ContactInfoSystem varchar(30) collate NOCASE NULL , + ExternalAuthId varchar(100) collate NOCASE NULL , + AuthSystem varchar(30) collate NOCASE NULL , + Gecos varchar(16) collate NOCASE NULL , + HomePhone varchar(30) collate NOCASE NULL , + WorkPhone varchar(30) collate NOCASE NULL , + MobilePhone varchar(30) collate NOCASE NULL , + PagerPhone varchar(30) collate NOCASE NULL , + Address1 varchar(200) collate NOCASE NULL , + Address2 varchar(200) collate NOCASE NULL , + City varchar(100) collate NOCASE NULL , + State varchar(100) collate NOCASE NULL , + Zip varchar(16) collate NOCASE NULL , + Country varchar(50) collate NOCASE NULL , Timezone char(50) NULL , - PGPKey text NULL, + PGPKey text collate NOCASE NULL, + SMIMECertificate text collate NOCASE NULL, - Creator integer NULL , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , + LastUpdatedBy integer NULL DEFAULT 0 , LastUpdated DATETIME NULL ) ; 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); @@ -255,20 +289,21 @@ CREATE INDEX Users4 ON Users (EmailAddress); CREATE TABLE Tickets ( id INTEGER PRIMARY KEY , - EffectiveId integer NULL , - Queue integer NULL , - Type varchar(16) NULL , - IssueStatement integer NULL , - Resolution integer NULL , - Owner integer NULL , - Subject varchar(200) NULL DEFAULT '[no subject]' , - InitialPriority integer NULL , - FinalPriority integer NULL , - Priority integer NULL , - TimeEstimated integer NULL , - TimeWorked integer NULL , - Status varchar(10) NULL , - TimeLeft integer NULL , + EffectiveId integer NULL DEFAULT 0 , + IsMerged int2 NULL DEFAULT NULL, + Queue integer NULL DEFAULT 0 , + Type varchar(16) collate NOCASE NULL , + IssueStatement integer NULL DEFAULT 0 , + Resolution integer NULL DEFAULT 0 , + Owner integer NULL DEFAULT 0 , + Subject varchar(200) collate NOCASE NULL DEFAULT '[no subject]' , + InitialPriority integer NULL DEFAULT 0 , + FinalPriority integer NULL DEFAULt 0 , + Priority integer NULL DEFAULT 0 , + TimeEstimated integer NULL DEFAULT 0 , + TimeWorked integer NULL DEFAULT 0 , + Status varchar(64) collate NOCASE NULL , + TimeLeft integer NULL DEFAULT 0 , Told DATETIME NULL , Starts DATETIME NULL , Started DATETIME NULL , @@ -276,9 +311,9 @@ CREATE TABLE Tickets ( Resolved DATETIME NULL , - LastUpdatedBy integer NULL , + LastUpdatedBy integer NULL DEFAULT 0 , LastUpdated DATETIME NULL , - Creator integer NULL , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL , Disabled int2 NOT NULL DEFAULT 0 @@ -287,8 +322,6 @@ CREATE TABLE Tickets ( 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) ; --- }}} @@ -296,13 +329,13 @@ CREATE INDEX Tickets5 ON Tickets (id, EffectiveId) ; CREATE TABLE ScripActions ( id INTEGER PRIMARY KEY , - Name varchar(200) NULL , - Description varchar(255) NULL , - ExecModule varchar(60) NULL , - Argument varchar(255) NULL , - Creator integer NULL , + Name varchar(200) collate NOCASE NULL , + Description varchar(255) collate NOCASE NULL , + ExecModule varchar(60) collate NOCASE NULL , + Argument varchar(255) collate NOCASE NULL , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , + LastUpdatedBy integer NULL DEFAULT 0 , LastUpdated DATETIME NULL ) ; @@ -314,77 +347,175 @@ CREATE TABLE ScripActions ( CREATE TABLE Templates ( id INTEGER PRIMARY KEY , Queue integer NOT NULL DEFAULT 0 , - Name varchar(200) NOT NULL , - Description varchar(255) NULL , - Type varchar(16) NULL , - Language varchar(16) NULL , - TranslationOf integer NULL , + Name varchar(200) collate NOCASE NOT NULL , + Description varchar(255) collate NOCASE NULL , + Type varchar(16) collate NOCASE NULL , Content blob NULL , LastUpdated DATETIME NULL , - LastUpdatedBy integer NULL , - Creator integer NULL , + LastUpdatedBy integer NULL DEFAULT 0 , + Creator integer NULL DEFAULT 0 , Created DATETIME NULL ) ; --- }}} ---- {{{ TicketCustomFieldValues -CREATE TABLE TicketCustomFieldValues ( - id INTEGER PRIMARY KEY , - Ticket int NOT NULL , + + +CREATE TABLE ObjectCustomFieldValues ( + id INTEGER NOT NULL , CustomField int NOT NULL , - Content varchar(255) NULL , + ObjectType varchar(255) collate NOCASE NOT NULL, # Final target of the Object + ObjectId int NOT NULL , # New -- Replaces Ticket + SortOrder integer NOT NULL DEFAULT 0 , + + Content varchar(255) collate NOCASE NULL , + LargeContent LONGTEXT collate NOCASE NULL, # New -- to hold 255+ strings + ContentType varchar(80) collate NOCASE NULL, # New -- only text/* gets searched + ContentEncoding varchar(80) collate NOCASE NULL , # New -- for binary Content - Creator integer NULL , + Creator integer NOT NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL , + Disabled int2 NOT NULL DEFAULT 0 , + PRIMARY KEY (id) ) ; -CREATE INDEX TicketCustomFieldValues1 ON TicketCustomFieldValues (CustomField,Ticket,Content); -CREATE INDEX TicketCustomFieldValues2 ON TicketCustomFieldValues (CustomField,Ticket); +CREATE INDEX ObjectCustomFieldValues1 ON ObjectCustomFieldValues (Content); +CREATE INDEX ObjectCustomFieldValues2 ON ObjectCustomFieldValues (CustomField,ObjectType,ObjectId); ---- }}} ---- {{{ CustomFields CREATE TABLE CustomFields ( - id INTEGER PRIMARY KEY , - Name varchar(200) NULL , - Type varchar(200) NULL , - Queue int NULL , - Description varchar(255) NULL , - SortOrder integer NULL , + id INTEGER NOT NULL , + Name varchar(200) collate NOCASE NULL , + Type varchar(200) collate NOCASE NULL , # Changed -- 'Single' and 'Multiple' is moved out + RenderType varchar(64) collate NOCASE NULL , + MaxValues integer, # New -- was 'Single'(1) and 'Multiple'(0) + Pattern varchar(65536) collate NOCASE NULL , # New -- Must validate against this + BasedOn INTEGER NULL, + ValuesClass varchar(64) collate NOCASE NULL , + Description varchar(255) collate NOCASE NULL , + SortOrder integer NOT NULL DEFAULT 0 , + LookupType varchar(255) collate NOCASE NOT NULL, + + Creator integer NOT NULL DEFAULT 0 , + Created DATETIME NULL , + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL , + Disabled int2 NOT NULL DEFAULT 0 , + PRIMARY KEY (id) +) ; + + + +CREATE TABLE ObjectCustomFields ( + id INTEGER NOT NULL , + CustomField int NOT NULL , + ObjectId integer NOT NULL, + SortOrder integer NOT NULL DEFAULT 0 , - Creator integer NULL , + Creator integer NOT NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL , - Disabled int2 NOT NULL DEFAULT 0 - + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) ) ; ---- }}} ---- {{{ CustomFieldValues CREATE TABLE CustomFieldValues ( - id INTEGER PRIMARY KEY , + id INTEGER NOT NULL , CustomField int NOT NULL , - Name varchar(200) NULL , - Description varchar(255) NULL , - SortOrder integer NULL , + Name varchar(200) collate NOCASE NULL , + Description varchar(255) collate NOCASE NULL , + SortOrder integer NOT NULL DEFAULT 0 , + Category varchar(255) collate NOCASE NULL , - Creator integer NULL , + Creator integer NOT NULL DEFAULT 0 , Created DATETIME NULL , - LastUpdatedBy integer NULL , - LastUpdated DATETIME NULL - + LastUpdatedBy integer NOT NULL DEFAULT 0 , + LastUpdated DATETIME NULL , + PRIMARY KEY (id) ) ; CREATE INDEX CustomFieldValues1 ON CustomFieldValues (CustomField); + + +--- {{{ Attributes +CREATE TABLE Attributes ( + id INTEGER PRIMARY KEY , + Name varchar(255) collate NOCASE NOT NULL , + Description varchar(255) collate NOCASE NULL , + Content LONGTEXT collate NOCASE NULL , + ContentType varchar(16) collate NOCASE, + ObjectType varchar(25) collate NOCASE NOT NULL , + ObjectId INTEGER , + Creator integer NULL DEFAULT 0 , + Created DATETIME NULL , + LastUpdatedBy integer NULL DEFAULT 0 , + LastUpdated DATETIME NULL + +) ; +CREATE INDEX Attributes1 on Attributes(Name); +CREATE INDEX Attributes2 on Attributes(ObjectType, ObjectId); --- }}} + +CREATE TABLE Classes ( +id INTEGER PRIMARY KEY, +Name varchar(255) collate NOCASE NOT NULL DEFAULT '', +Description varchar(255) collate NOCASE NOT NULL DEFAULT '', +SortOrder integer NOT NULL DEFAULT 0, +Disabled smallint NOT NULL DEFAULT 0, +Creator integer NOT NULL DEFAULT 0, +Created TIMESTAMP NULL, +LastUpdatedBy integer NOT NULL DEFAULT 0, +LastUpdated TIMESTAMP NULL, +HotList smallint NOT NULL DEFAULT 0 +); + +CREATE TABLE Articles ( +id INTEGER PRIMARY KEY, +Name varchar(255) collate NOCASE NOT NULL DEFAULT '', +Summary varchar(255) collate NOCASE NOT NULL DEFAULT '', +SortOrder integer NOT NULL DEFAULT 0, +Class integer NOT NULL DEFAULT 0, +Parent integer NOT NULL DEFAULT 0, +URI varchar(255) collate NOCASE, +Creator integer NOT NULL DEFAULT 0, +Created TIMESTAMP NULL, +LastUpdatedBy integer NOT NULL DEFAULT 0, +LastUpdated TIMESTAMP NULL +); + + +CREATE TABLE Topics ( +id INTEGER PRIMARY KEY, +Parent integer NOT NULL DEFAULT 0, +Name varchar(255) collate NOCASE NOT NULL DEFAULT '', +Description varchar(255) collate NOCASE NOT NULL DEFAULT '', +ObjectType varchar(64) collate NOCASE NOT NULL DEFAULT '', +ObjectId integer NOT NULL DEFAULT 0 +); + + +CREATE TABLE ObjectTopics ( +id INTEGER PRIMARY KEY, +Topic integer NOT NULL DEFAULT 0, +ObjectType varchar(64) collate NOCASE NOT NULL DEFAULT '', +ObjectId integer NOT NULL DEFAULT 0 +); + +CREATE TABLE ObjectClasses ( +id INTEGER PRIMARY KEY, +Class integer NOT NULL DEFAULT 0, +ObjectType varchar(64) collate NOCASE NOT NULL DEFAULT '', +ObjectId integer NOT NULL DEFAULT 0, +Creator integer NOT NULL DEFAULT 0, +Created TIMESTAMP NULL, +LastUpdatedBy integer NOT NULL DEFAULT 0, +LastUpdated TIMESTAMP NULL +);