+++ /dev/null
-# column, type, nullability, length, default, database-local
-
-my $gratuitous = {
-
-'Groups' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Name', 'varchar', 'NULL', '16', '', '',
- 'Description', 'varchar', 'NULL', '64', '', '',
- 'Pseudo', 'integer', '', '', '0', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ['Name'] ],
- 'index' => [ ],
-},
-
-'ACL' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'PrincipalId', 'integer', 'NULL', '', '', '',
- 'PrincipalType', 'varchar', 'NULL', '25', '', '',
- 'RightName', 'varchar', 'NULL', '25', '', '',
- 'RightScope', 'varchar', 'NULL', '25', '', '',
- 'RightAppliesTo', 'integer', 'NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ],
- 'index' => [ ['RightScope', 'PrincipalId'],
- ['RightScope','RightAppliesTo','RightName','PrincipalType','PrincipalId'] ],
-},
-
-'Watchers' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Type', 'varchar', 'NULL', '16', '', '',
- 'Scope', 'varchar', 'NULL', '16', '', '',
- 'Value', 'integer', 'NULL', '', '', '',
- 'Email', 'varchar', 'NULL', '255', '', '',
- 'Quiet', 'integer', 'NULL', '', '', '',
- 'Owner', 'integer', 'NULL', '', '', '',
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ],
- 'index' => [ ['Scope','Value','Type','Owner'] ],
-},
-
-'Links' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Base', 'varchar', 'NULL', '240', '', '',
- 'Target', 'varchar', 'NULL', '240', '', '',
- 'Type', 'varchar', '', '20', '', '',
- 'LocalTarget', 'integer', 'NULL', '', '', '',
- 'LocalBase', 'integer', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ['Base', 'Target', 'Type'] ],
- 'index' => [ ],
-},
-
-'Users' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Name', 'varchar', '', '120', '', '',
- 'Password', 'varchar', 'NULL', '40', '', '',
- 'Comments', 'blob', 'NULL', '', '', '',
- 'Signature', 'blob', 'NULL', '', '', '',
- 'EmailAddress', 'varchar', 'NULL', '120', '', '',
- 'FreeformContactInfo', 'blob', 'NULL', '', '', '',
- 'Organization', 'varchar', 'NULL', '200', '', '',
- 'Privileged', 'integer', 'NULL', '', '', '',
- 'RealName', 'varchar', 'NULL', '120', '', '',
- 'Nickname', 'varchar', 'NULL', '16', '', '',
- 'Lang', 'varchar', 'NULL', '16', '', '',
- 'EmailEncoding', 'varchar', 'NULL', '16', '', '',
- 'WebEncoding', 'varchar', 'NULL', '16', '', '',
- 'ExternalContactInfoId', 'varchar', 'NULL', '100', '', '',
- 'ContactInfoSystem', 'varchar', 'NULL', '30', '', '',
- 'ExternalAuthId', 'varchar', 'NULL', '100', '', '',
- 'AuthSystem', 'varchar', 'NULL', '30', '', '',
- 'Gecos', 'varchar', 'NULL', '16', '', '',
- 'HomePhone', 'varchar', 'NULL', '30', '', '',
- 'WorkPhone', 'varchar', 'NULL', '30', '', '',
- 'MobilePhone', 'varchar', 'NULL', '30', '', '',
- 'PagerPhone', 'varchar', 'NULL', '30', '', '',
- 'Address1', 'varchar', 'NULL', '200', '', '',
- 'Address2', 'varchar', 'NULL', '200', '', '',
- 'City', 'varchar', 'NULL', '100', '', '',
- 'State', 'varchar', 'NULL', '100', '', '',
- 'Zip', 'varchar', 'NULL', '16', '', '',
- 'Country', 'varchar', 'NULL', '50', '', '',
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- 'Disabled', 'int2', '','','0','',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ['Name'] ],
- 'index' => [ ['Name'],
- ['id', 'EmailAddress'],
- ['EmailAddress'] ],
-},
-
-'Tickets' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'EffectiveId', 'integer', 'NULL', '', '', '',
- 'Queue', 'integer', 'NULL', '', '', '',
- 'Type', 'varchar', 'NULL', '16', '', '',
- 'IssueStatement', 'integer', 'NULL', '', '', '',
- 'Resolution', 'integer', 'NULL', '', '', '',
- 'Owner', 'integer', 'NULL', '', '', '',
- 'Subject', 'varchar', 'NULL', '200', '[no subject]', '',
- 'InitialPriority', 'integer', 'NULL', '', '', '',
- 'FinalPriority', 'integer', 'NULL', '', '', '',
- 'Priority', 'integer', 'NULL', '', '', '',
- 'Status', 'varchar', 'NULL', '10', '', '',
- 'TimeWorked', 'integer', 'NULL', '', '', '',
- 'TimeLeft', 'integer', 'NULL', '', '', '',
- 'Told', 'timestamp', 'NULL', '', '', '',
- 'Starts', 'timestamp', 'NULL', '', '', '',
- 'Started', 'timestamp', 'NULL', '', '', '',
- 'Due', 'timestamp', 'NULL', '', '', '',
- 'Resolved', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- 'Disabled', 'int2', '','','0','',
- ],
- 'primary_key' => 'id',
- 'unique' => [ [] ],
- 'index' => [ ['Queue', 'Status'],
- ['Owner'],
- ['EffectiveId'],
- ['id', 'Status'],
- ['id', 'EffectiveId'] ],
-},
-
-'GroupMembers' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'GroupId', 'integer', 'NULL', '', '', '', #foreign key, Groups::id
- 'UserId', 'integer', 'NULL', '', '', '', #foreign key, Users::id
- ],
- 'primary_key' => 'id',
- 'unique' => [ ['GroupId', 'UserId'] ],
- 'index' => [ ],
-},
-
-'Queues' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Name', 'varchar', '', '120', '', '', #Textual 'name' for this queue
- 'Description', 'varchar', 'NULL', '120', '', '', #Textual descr. of this
- #queue
- 'CorrespondAddress', 'varchar', 'NULL', '120', '', '',
- 'CommentAddress', 'varchar', 'NULL', '120', '', '',
- 'InitialPriority', 'integer', 'NULL', '', '', '',
- 'FinalPriority', 'integer', 'NULL', '', '', '',
- 'DefaultDueIn', 'integer', 'NULL', '', '', '',
-
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- 'Disabled', 'int2', '','','0','',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ['Name'] ],
- 'index' => [ ],
-},
-
-'Transactions' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'EffectiveTicket', 'integer', 'NULL', '', '', '',
- 'Ticket', 'integer', 'NULL', '', '', '', #Foreign key Ticket::id
- 'TimeTaken', 'integer', 'NULL', '', '', '', #Time spent on this trans in min
- 'Type', 'varchar', 'NULL', '20', '', '',
- 'Field', 'varchar', 'NULL', '40', '', '', #If it's a "Set" transaction, what
- #field was set.
- 'OldValue', 'varchar', 'NULL', '255', '', '',
- 'NewValue', 'varchar', 'NULL', '255', '', '',
- 'Data', 'varchar', 'NULL', '100', '', '',
-
-
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
-
- ],
- 'primary_key' => 'id',
- 'unique' => [ ],
- 'index' => [ ['Ticket'], ['EffectiveTicket'] ],
-},
-
-'ScripActions' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Name', 'varchar', 'NULL', '255', '', '', # Alias
- 'Description', 'varchar', 'NULL', '255', '', '', #Textual description
- 'ExecModule', 'varchar', 'NULL', '60', '', '', #This calles RT::Action::___
- 'Argument', 'varchar', 'NULL', '255', '', '', #We can pass a single argument
- #to the scrip. sometimes, it's who to send mail to.
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ],
- 'index' => [ ],
-},
-
-'ScripConditions' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Name', 'varchar', 'NULL', '255', '', '', # Alias
- 'Description', 'varchar', 'NULL', '255', '', '', #Textual description
- 'ExecModule', 'varchar', 'NULL', '60', '', '', #This calles RT::Condition::
- 'Argument', 'varchar', 'NULL', '255', '', '', #We can pass a single argument
- #to the scrip. sometimes, it's who to send mail to.
- 'ApplicableTransTypes', 'varchar', 'NULL', '60', '', '',#Transaction types this scrip
- # acts on. comma or / delimited is just great.
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ],
- 'index' => [ ],
-},
-'Scrips' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'ScripCondition', 'integer', 'NULL', '', '', '', #Foreign key ScripConditions::id
- 'ScripAction', 'integer', 'NULL', '', '', '', #Foreign key ScripActions::id
- 'Stage', 'varchar', 'NULL', '32','','', #What stage does this scrip
- #Happen in. for now, everything is 'TransactionCreate',
- 'Queue', 'integer', 'NULL', '', '', '', #Foreign key Queues::id
- 'Template', 'integer', 'NULL', '', '', '', #Foreign key Templates::id
-
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ ],
- 'index' => [ ],
-},
-
-'Attachments' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'TransactionId', 'integer', '', '', '', '', #Foreign key Transactions::Id
- 'Parent', 'integer', 'NULL', '', '', '', # Attachments::Id
- 'MessageId', 'varchar', 'NULL', '160', '', '', #RFC822 messageid, if any
- 'Subject', 'varchar', 'NULL', '255', '', '',
- 'Filename', 'varchar', 'NULL', '255', '', '',
- 'ContentType', 'varchar', 'NULL', '80', '', '',
- 'ContentEncoding', 'varchar', 'NULL', '80', '', '',
- 'Content', 'long varbinary', 'NULL', '', '', '',
- 'Headers', 'long varbinary', 'NULL', '', '', '',
-
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
-
- ],
- 'primary_key' => 'id',
- 'unique' => [ ],
- 'index' => [ ['Parent'], ['TransactionId'], ['Parent', 'TransactionId'] ],
-},
-
-'Templates' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Queue', 'integer', 'NOT NULL', '', '0', '',
- 'Name', 'varchar', '', '40', '', '',
- 'Description', 'varchar', 'NULL', '120', '', '',
- 'Type', 'varchar', 'NULL', '16', '','',
- 'Language', 'varchar', 'NULL', '16', '', '',
- 'TranslationOf', 'integer', 'NULL', '', '', '',
- 'Content', 'blob', 'NULL', '', '', '',
- 'LastUpdated', 'timestamp', 'NULL', '', '', '',
- 'LastUpdatedBy', 'integer', 'NULL', '', '', '',
- 'Creator', 'integer', 'NULL', '', '', '',
- 'Created', 'timestamp', 'NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ [''] ],
- 'index' => [ ],
-},
-
-'Keywords' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Name', 'varchar', 'NOT NULL', '255', '', '',
- 'Description', 'varchar', 'NULL', '255', '', '',
- 'Parent', 'integer', 'NULL', '', '', '',
- 'Disabled', 'int2', '','','0','',
-],
- 'primary_key' => 'id',
- 'unique' => [ [ 'Name', 'Parent' ] ],
- 'index' => [ [ 'Name', ], [ 'Parent' ] ],
-},
-
-'ObjectKeywords' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Keyword', 'integer', 'NOT NULL', '', '', '',
- 'KeywordSelect', 'integer', 'NOT NULL', '', '', '',
- 'ObjectType', 'varchar', 'NOT NULL', '32', '', '',
- 'ObjectId', 'integer', 'NOT NULL', '', '', '',
- ],
- 'primary_key' => 'id',
- 'unique' => [ [ 'ObjectId', 'ObjectType','KeywordSelect', 'Keyword' ] ],
- 'index' => [ [ 'ObjectId', 'ObjectType' ] , ['Keyword'] ],
-
-},
-
-'KeywordSelects' => {
- 'columns' => [
- 'id', 'serial', '', '', '', '',
- 'Name','varchar','NULL','255','','',
- 'Keyword', 'integer', 'NULL', '', '', '',
- 'Single', 'integer', 'NULL', '', '', '',
- 'Depth', 'integer', 'NOT NULL', '', 0, '',
- 'ObjectType', 'varchar', 'NOT NULL', '32', '', '',
- 'ObjectField', 'varchar', 'NULL', '32', '', '',
- 'ObjectValue', 'varchar', 'NULL', '255', '', '',
- 'Disabled', 'int2', '','','0','',
- ],
- 'primary_key' => 'id',
- 'unique' => [ [ ] ],
- 'index' => [ [ 'Keyword' ], [ 'ObjectType', 'ObjectField', 'ObjectValue'] ],
-},
-
-};