Author: jfelfouly
Date: 2007-05-14 04:33:41-0700
New Revision: 10441
Modified:
trunk/src/schema/scarab-schema.xml
Log:
Schema documentation reintegrated in the xml flow (from XML comments) to improve HTML generated documentation.
Modified: trunk/src/schema/scarab-schema.xml
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/schema/scarab-schema.xml?view=diff&rev=10441&p1=trunk/src/schema/scarab-schema.xml&p2=trunk/src/schema/scarab-schema.xml&r1=10440&r2=10441
==============================================================================
--- trunk/src/schema/scarab-schema.xml (original)
+++ trunk/src/schema/scarab-schema.xml 2007-05-14 04:33:41-0700
@@ -1,858 +1,370 @@
-<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
-<!DOCTYPE database SYSTEM
- "http://db.apache.org/torque/dtd/database_3_2.dtd">
-
+<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
+<!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database_3_2.dtd">
<!-- $Id$ -->
-
<database name="scarab" defaultJavaType="object">
-<!--
- History of changes made to the attributes of an issue.
--->
-<table name="SCARAB_ACTIVITY" idMethod="idbroker" javaName="Activity" description="Contains activities on issues">
- <!--
- PK.
- -->
- <column name="ACTIVITY_ID" primaryKey="true" required="true"
- type="BIGINT" description="ID generated via IDBROKER"/>
- <!--
- Issue attribute of which has been modified.
- -->
- <column name="ISSUE_ID" required="true" type="BIGINT"></column>
- <!--
- Attribute that has been modified.
- -->
- <column name="ATTRIBUTE_ID" required="true" type="INTEGER"/>
- <!--
- ActivitySet to which the attribute modification belongs.
- -->
- <column name="TRANSACTION_ID" required="true" type="BIGINT"/>
- <!--
- Value of integer attribute before modification.
- -->
- <column name="OLD_NUMERIC_VALUE" required="false" type="INTEGER" />
- <!--
- Value of integer attribute after modification.
- -->
- <column name="NEW_NUMERIC_VALUE" required="false" type="INTEGER" />
- <!--
- Value of user attribute before modification.
- -->
- <column name="OLD_USER_ID" required="false" type="INTEGER" />
- <!--
- Value of user attribute after modification.
- -->
- <column name="NEW_USER_ID" required="false" type="INTEGER" />
- <!--
- Value of option attribute before modification.
- -->
- <column name="OLD_OPTION_ID" required="false" type="INTEGER" />
- <!--
- Value of option attribute after modification.
- -->
- <column name="NEW_OPTION_ID" required="false" type="INTEGER" />
- <!--
- Value of attribute before modification.
- -->
- <column name="OLD_VALUE" required="false" type="LONGVARCHAR"></column>
- <!--
- Value of attribute after modification.
- -->
- <column name="NEW_VALUE" required="false" type="LONGVARCHAR"></column>
- <!--
- Value of the dependency change.
- -->
- <column name="DEPEND_ID" required="false" type="INTEGER"></column>
- <!--
- System-generated description of modification (deprecated since b21, keeped
- for backward compatibility).
- -->
- <column name="DESCRIPTION" required="false" type="VARCHAR" size="255"></column>
- <!--
- Date this Activity is no longer the current value of the Attribute.
- -->
- <column name="END_DATE" required="false" type="DATE"/>
- <!--
- If an attachment is associated to the activity, store it
- here. Note: there is also attachments associated to the
- activitySet which 'contains' the activity. These are generally
- the result of multiple activity records being created via
- the modification of several attributes at one time.
- -->
- <column name="ATTACHMENT_ID" required="false" type="BIGINT"/>
- <!--
- Type of activity, useful when generating the activity description.
- -->
- <column name="ACTIVITY_TYPE" required="false" type="VARCHAR" size="30"/>
-
- <foreign-key foreignTable="SCARAB_ISSUE">
- <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_TRANSACTION">
- <reference local="TRANSACTION_ID" foreign="TRANSACTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="OLD_USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="NEW_USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="OLD_OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="NEW_OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTACHMENT">
- <reference local="ATTACHMENT_ID" foreign="ATTACHMENT_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_DEPEND">
- <reference local="DEPEND_ID" foreign="DEPEND_ID"/>
- </foreign-key>
-
- <index name="IX_ATTR_ISS_ENDDT">
- <index-column name="ATTRIBUTE_ID"/>
- <index-column name="ISSUE_ID"/>
- <index-column name="END_DATE"/>
- </index>
- <index name="IX_ISSUE_TRANS">
- <index-column name="ISSUE_ID"/>
- <index-column name="TRANSACTION_ID"/>
- </index>
- <index name="IX_TRANSACTION">
- <index-column name="TRANSACTION_ID"/>
- </index>
- <index name="IX_ATTACHMENT">
- <index-column name="ATTACHMENT_ID"/>
- </index>
- <index name="IX_DEPEND">
- <index-column name="DEPEND_ID"/>
- </index>
- <!--
- This index is useful in reports. My first guess was that including
- END_DATE in the index would be useful, but it appears to slow things
- down about 50%
- -->
- <index name="IX_NEW_OPT_ISS">
- <index-column name="NEW_OPTION_ID"/>
- <index-column name="ISSUE_ID"/>
- </index>
- <index name="IX_NEW_USER_ISSUE">
- <index-column name="NEW_USER_ID"/>
- <index-column name="ISSUE_ID"/>
- </index>
- <!-- with only the above indices a search criteria containing several
- attributes with multiple options per attribute was not able to
+ <table name="SCARAB_ACTIVITY" idMethod="idbroker" javaName="Activity" description="History of changes made to the attributes of an issue.">
+ <column name="ACTIVITY_ID" primaryKey="true" required="true" type="BIGINT" description="PK (ID generated via IDBROKER)."/>
+ <column name="ISSUE_ID" required="true" type="BIGINT" description="Issue attribute of which has been modified."/>
+ <column name="ATTRIBUTE_ID" required="true" type="INTEGER" description="Attribute that has been modified."/>
+ <column name="TRANSACTION_ID" required="true" type="BIGINT" description="ActivitySet to which the attribute modification belongs."/>
+ <column name="OLD_NUMERIC_VALUE" required="false" type="INTEGER" description="Value of integer attribute before modification."/>
+ <column name="NEW_NUMERIC_VALUE" required="false" type="INTEGER" description="Value of integer attribute after modification."/>
+ <column name="OLD_USER_ID" required="false" type="INTEGER" description="Value of user attribute before modification."/>
+ <column name="NEW_USER_ID" required="false" type="INTEGER" description="Value of user attribute after modification."/>
+ <column name="OLD_OPTION_ID" required="false" type="INTEGER" description="Value of option attribute before modification."/>
+ <column name="NEW_OPTION_ID" required="false" type="INTEGER" description="Value of option attribute after modification."/>
+ <column name="OLD_VALUE" required="false" type="LONGVARCHAR" description="Value of attribute before modification."/>
+ <column name="NEW_VALUE" required="false" type="LONGVARCHAR" description="Value of attribute after modification."/>
+ <column name="DEPEND_ID" required="false" type="INTEGER" description="Value of the dependency change."/>
+ <column name="DESCRIPTION" required="false" type="VARCHAR" size="255" description="System-generated description of modification (deprecated since b21, kept for backward compatibility)."/>
+ <column name="END_DATE" required="false" type="DATE" description="Date this Activity is no longer the current value of the Attribute."/>
+ <column name="ATTACHMENT_ID" required="false" type="BIGINT" description=" If an attachment is associated to the activity, store it here. Note: there is also attachments associated to the activitySet which 'contains' the activity. These are generally the result of multiple activity records being created via the modification of several attributes at one time."/>
+ <column name="ACTIVITY_TYPE" required="false" type="VARCHAR" size="30" description="Type of activity, useful when generating the activity description."/>
+ <foreign-key foreignTable="SCARAB_ISSUE">
+ <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_TRANSACTION">
+ <reference local="TRANSACTION_ID" foreign="TRANSACTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="OLD_USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="NEW_USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="OLD_OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="NEW_OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTACHMENT">
+ <reference local="ATTACHMENT_ID" foreign="ATTACHMENT_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_DEPEND">
+ <reference local="DEPEND_ID" foreign="DEPEND_ID"/>
+ </foreign-key>
+ <index name="IX_ATTR_ISS_ENDDT">
+ <index-column name="ATTRIBUTE_ID"/>
+ <index-column name="ISSUE_ID"/>
+ <index-column name="END_DATE"/>
+ </index>
+ <index name="IX_ISSUE_TRANS">
+ <index-column name="ISSUE_ID"/>
+ <index-column name="TRANSACTION_ID"/>
+ </index>
+ <index name="IX_TRANSACTION">
+ <index-column name="TRANSACTION_ID"/>
+ </index>
+ <index name="IX_ATTACHMENT">
+ <index-column name="ATTACHMENT_ID"/>
+ </index>
+ <index name="IX_DEPEND">
+ <index-column name="DEPEND_ID"/>
+ </index>
+ <!--
+ This index is useful in reports. My first guess was that including
+ END_DATE in the index would be useful, but it appears to slow things
+ down about 50%
+ -->
+ <index name="IX_NEW_OPT_ISS">
+ <index-column name="NEW_OPTION_ID"/>
+ <index-column name="ISSUE_ID"/>
+ </index>
+ <index name="IX_NEW_USER_ISSUE">
+ <index-column name="NEW_USER_ID"/>
+ <index-column name="ISSUE_ID"/>
+ </index>
+ <!-- with only the above indices a search criteria containing several
+ attributes with multiple options per attribute was not able to
make use of the common issue_id join condition which led to a
cross join of sorts. We could replace the index above with those
below, but the optimum speed is obtained with both. -->
- <index name="IX_ISS_NEW_OPT">
- <index-column name="ISSUE_ID"/>
- <index-column name="NEW_OPTION_ID"/>
- </index>
- <index name="IX_ISSUE_NEW_USER">
- <index-column name="ISSUE_ID"/>
- <index-column name="NEW_USER_ID"/>
- </index>
-</table>
-
-
-<!--
- Attachment is a piece of information associated with an issue.
--->
-<table name="SCARAB_ATTACHMENT" idMethod="idbroker" javaName="Attachment">
- <!--
- Unique identifier.
- -->
- <column name="ATTACHMENT_ID" primaryKey="true" required="true" type="BIGINT"></column>
- <!--
- Issue that attachment is associated with.
- -->
- <column name="ISSUE_ID" required="false" type="BIGINT"></column>
- <!--
- Type.
- -->
- <column name="ATTACHMENT_TYPE_ID" javaName="TypeId" required="true" type="INTEGER"></column>
- <!--
- Name that is displayed in the UI.
- -->
- <column name="ATTACHMENT_NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
- <!--
- Actual information constituting the attachment.
- -->
- <column name="ATTACHMENT_DATA" javaName="Data" required="false" type="LONGVARCHAR"></column>
- <!--
- Server side location of the file that contains attachment.
- Location is relative to the central file storage location
- specified in the application properties.
- -->
- <column name="ATTACHMENT_FILE_PATH" javaName="FileName" required="false" type="VARCHAR" size="255"></column>
- <!--
- MIME type of the attachment.
- Describes type of information constituting an attachment.
- -->
- <column name="ATTACHMENT_MIME_TYPE" javaName="MimeType" required="true" type="VARCHAR" size="255"/>
- <!--
- Person that made last modification to the attachment.
- -->
- <column name="MODIFIED_BY" required="false" type="INTEGER"></column>
- <!--
- Person that associated the attachment with an issue initially.
- -->
- <column name="CREATED_BY" required="false" type="INTEGER"></column>
- <!--
- Date of the last modification of the attachment.
- -->
- <column name="MODIFIED_DATE" required="false" type="TIMESTAMP"></column>
- <!--
- Date of the initial association of attachment with an issue.
- -->
- <column name="CREATED_DATE" required="false" type="TIMESTAMP"></column>
- <!--
- Flag, which marks that attachment has been deleted.
- -->
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"></column>
- <index name="IX_ISS_ATTACHTYPE">
- <index-column name="ISSUE_ID"/>
- <index-column name="ATTACHMENT_TYPE_ID"/>
- </index>
- <foreign-key foreignTable="SCARAB_ISSUE">
- <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTACHMENT_TYPE">
- <reference local="ATTACHMENT_TYPE_ID" foreign="ATTACHMENT_TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="CREATED_BY" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="MODIFIED_BY" foreign="USER_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Possible types of attachements.
- Example: Comment
- Example: File
--->
-<table name="SCARAB_ATTACHMENT_TYPE" idMethod="idbroker"
- javaName="AttachmentType">
- <!--
- Unique identifier.
- -->
- <column name="ATTACHMENT_TYPE_ID" primaryKey="true" required="true"
- type="INTEGER" />
- <!--
- Name.
- -->
- <column name="ATTACHMENT_TYPE_NAME" javaName="Name" required="true"
- type="VARCHAR" size="255" />
- <!--
- Flag marking text/searchable attachments
- -->
- <column name="SEARCHABLE" default="0" type="BOOLEANINT"
- javaType="primitive"/>
-</table>
-
-
-
-<!--
- Possible attributes of an issue.
- Example: Operating System
- Example: Severity
--->
-<table name="SCARAB_ATTRIBUTE" idMethod="idbroker" javaName="Attribute">
- <!--
- Unique identifier.
- -->
- <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="ATTRIBUTE_NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
- <!--
- Type.
- -->
- <column name="ATTRIBUTE_TYPE_ID" javaName="TypeId" required="true" type="INTEGER"></column>
- <!--
- A permission related to this attribute.
- -->
- <column name="PERMISSION" required="false" type="VARCHAR" size="255"/>
- <!--
- A required option for this attribute to be active.
- -->
- <column name="REQUIRED_OPTION_ID" required="false" type="INTEGER"></column>
- <!--
- Description.
- -->
- <column name="DESCRIPTION" javaName="Description" required="true" type="VARCHAR" size="255"></column>
- <!--
- For user attributes, whether the user will be emailed, cc'd, or neither.
- -->
- <column name="ACTION" required="false" type="VARCHAR" size="255"/>
- <!--
- Person that set value to the column of the table initially.
- -->
- <column name="CREATED_BY" javaName="CreatedBy" required="false" type="INTEGER"></column>
- <!--
- Date of the initial set of the column of the table.
- -->
- <column name="CREATED_DATE" javaName="CreatedDate" required="false" type="TIMESTAMP"></column>
- <!--
- Flag, which marks that attribute has been deleted.
- -->
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_TYPE">
- <reference local="ATTRIBUTE_TYPE_ID" foreign="ATTRIBUTE_TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="REQUIRED_OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="CREATED_BY" foreign="USER_ID"/>
- </foreign-key>
-</table>
-
-<table name="SCARAB_CONDITION" idMethod="idbroker" javaName="Condition">
- <column name="CONDITION_ID" primaryKey="true" required="true" type="BIGINT"/>
- <column name="TRANSITION_ID" primaryKey="false" required="false" type="INTEGER"/>
- <column name="MODULE_ID" primaryKey="false" required="false" type="INTEGER"/>
- <column name="ISSUE_TYPE_ID" primaryKey="false" required="false" type="INTEGER"/>
- <column name="ATTRIBUTE_ID" primaryKey="false" required="false" type="INTEGER"/>
- <column name="OPTION_ID" primaryKey="false" required="true" type="INTEGER"/>
- <foreign-key foreignTable="SCARAB_R_MODULE_ATTRIBUTE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_TRANSITION">
- <reference local="TRANSITION_ID" foreign="TRANSITION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_R_MODULE_ISSUE_TYPE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-</table>
-<!--
- Groupings in which attributes appear on the page.
--->
-<table name="SCARAB_ATTRIBUTE_GROUP" idMethod="idbroker" javaName="AttributeGroup">
- <!--
- Unique identifier.
- -->
- <column name="ATTRIBUTE_GROUP_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <column name="NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
- <column name="DESCRIPTION" javaName="Description" required="false" type="VARCHAR" size="255"></column>
- <!--
- Module.
- -->
- <column name="MODULE_ID" required="false" type="INTEGER"></column>
- <!--
- Issue type.
- -->
- <column name="ISSUE_TYPE_ID" required="true" type="INTEGER"></column>
- <column name="ACTIVE" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="DEDUPE" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="PREFERRED_ORDER" javaName="Order" required="false"
- default="-1" type="INTEGER" javaType="primitive"></column>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
- <index name="IX_ISS_MOD_PRF_ORD">
- <index-column name="ISSUE_TYPE_ID"/>
- <index-column name="MODULE_ID"/>
- <index-column name="PREFERRED_ORDER"/>
- </index>
-</table>
-
-<!--
- Mapping from attributes to groups.
--->
-<table name="SCARAB_R_ATTRIBUTE_ATTRGROUP" idMethod="none" javaName="RAttributeAttributeGroup">
- <!--
- Group.
- -->
- <column name="GROUP_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Attribute.
- -->
- <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <column name="PREFERRED_ORDER" javaName="Order" required="false"
- default="-1" type="INTEGER" javaType="primitive"/>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_GROUP">
- <reference local="GROUP_ID" foreign="ATTRIBUTE_GROUP_ID"/>
- </foreign-key>
-</table>
-
-
-<!--
- Attribute class is group of attributes types that have the same properties.
- Example: Free form input
- Example: Select one from the list
--->
-<table name="SCARAB_ATTRIBUTE_CLASS" idMethod="idbroker"
- javaName="AttributeClass">
- <!--
- Unique identifier.
- -->
- <column name="ATTRIBUTE_CLASS_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="ATTRIBUTE_CLASS_NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
- <!--
- Description.
- -->
- <column name="ATTRIBUTE_CLASS_DESC" javaName="Desc" required="true" type="VARCHAR" size="255"></column>
- <!--
- Fully qualified name of the java class that represents attribute,
- belonging to the attribute class, in the application.
- -->
- <column name="JAVA_CLASS_NAME" required="false" type="VARCHAR" size="255"></column>
-</table>
-
-
-<!--
- Attribute option is possible value of an attribute of an issue.
- Example: DOS 3.1 (for attribute Operating System)
--->
-<table name="SCARAB_ATTRIBUTE_OPTION" idMethod="idbroker"
- javaName="AttributeOption">
- <!--
- Unique identifier.
- -->
- <column name="OPTION_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Attribute that can take the options as its value.
- -->
- <column name="ATTRIBUTE_ID" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="OPTION_NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
- <!--
- Flag, which marks that option has been deleted.
- -->
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <index name="IX_ATTRIBUTE">
- <index-column name="ATTRIBUTE_ID"/>
- </index>
-</table>
-
-<!--
- Possible types of dependency between options.
- Example: Parent-Child
- Example: Requires
--->
-<table name="SCARAB_OPTION_RELATIONSHIP" idMethod="idbroker"
- javaName="OptionRelationship">
- <!--
- Unique identifier.
- -->
- <column name="RELATIONSHIP_ID" primaryKey="true" required="true"
- type="INTEGER"/>
- <!--
- Name.
- -->
- <column name="RELATIONSHIP_NAME" javaName="Name" required="true"
- type="VARCHAR" size="100"/>
-</table>
-
-<!--
- Attribute type is group of attributes that have the same representation
- in the application data structure.
- Attribute type fully defines attribute behavior.
- Example: Integer
- Example: String
--->
-<table name="SCARAB_ATTRIBUTE_TYPE" idMethod="idbroker"
- javaName="AttributeType">
- <!--
- Unique identifier.
- -->
- <column name="ATTRIBUTE_TYPE_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Attribute class.
- -->
- <column name="ATTRIBUTE_CLASS_ID" javaName="ClassId" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="ATTRIBUTE_TYPE_NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
- <!--
- Fully qualified name of the java class that represents attribute,
- belonging to the attribute type, in the application.
- -->
- <column name="JAVA_CLASS_NAME" required="false" type="VARCHAR" size="255"/>
- <!--
- A key which ties into a validation service (intake).
- -->
- <column name="VALIDATION_KEY" required="false" type="VARCHAR" size="20"/>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_CLASS">
- <reference local="ATTRIBUTE_CLASS_ID" foreign="ATTRIBUTE_CLASS_ID"/>
- </foreign-key>
-</table>
-
-
-<!--
- Dependency between issues.
- Example: Issue is a duplicate of another issue.
- Example: Issue is blocking another issue.
--->
-<table name="SCARAB_DEPEND" idMethod="idbroker" javaName="Depend">
- <!--
- Unique identifier.
- -->
- <column name="DEPEND_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Issue that other issue depends upon.
- Example: Issue that blocks.
- Example: Issue that has duplicates.
- -->
- <column name="OBSERVED_ID" primaryKey="false" required="true" type="BIGINT"></column>
- <!--
- Issue that depends on other issue.
- Example: Issue that is being blocked.
- Example: Issue that is duplicate.
- -->
- <column name="OBSERVER_ID" primaryKey="false" required="true" type="BIGINT"></column>
- <!--
- Type.
- -->
- <column name="DEPEND_TYPE_ID" javaName="TypeId" required="true" type="INTEGER"></column>
- <!--
- Flag, which marks that dependency has been deleted.
- -->
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_ISSUE">
- <reference local="OBSERVED_ID" foreign="ISSUE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE">
- <reference local="OBSERVER_ID" foreign="ISSUE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_DEPEND_TYPE">
- <reference local="DEPEND_TYPE_ID" foreign="DEPEND_TYPE_ID"/>
- </foreign-key>
-
- <index name="IX_DEPEND_OBSERVED">
- <index-column name="OBSERVED_ID"/>
- <index-column name="DEPEND_TYPE_ID"/>
- </index>
- <index name="IX_DEPEND_OBSERVER">
- <index-column name="OBSERVER_ID"/>
- <index-column name="DEPEND_TYPE_ID"/>
- </index>
-</table>
-
-<!--
- Possible types of dependency between issues.
- Example: Duplicate
- Example: Block
--->
-<table name="SCARAB_DEPEND_TYPE" idMethod="idbroker" javaName="DependType">
- <!--
- Unique identifier.
- -->
- <column name="DEPEND_TYPE_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="DEPEND_TYPE_NAME" javaName="Name" required="true" type="VARCHAR" size="100"></column>
-
- <!--
- This column needs to be unique
- -->
- <unique>
- <unique-column name="DEPEND_TYPE_NAME"/>
- </unique>
-</table>
-
-<!--
- Information about artifact under processing in tracking system.
- Example: Particular defect
- Example: Particular inquiry
--->
-<table name="SCARAB_ISSUE" idMethod="idbroker" javaName="Issue">
- <!--
- Unique identifier used for primary key.
- -->
- <column name="ISSUE_ID" primaryKey="true" required="true" type="BIGINT"></column>
- <!--
- Part of Id related to module.
- -->
- <column name="ID_PREFIX" required="true" type="VARCHAR" size="30"/>
- <!--
- Part of Id which is an integer.
- -->
- <column name="ID_COUNT" type="INTEGER" required="true"
- javaType="primitive"/>
- <!--
- The instance of scarab the issue was originally reported to.
- This field could be null for the normal instance where the issue
- is local to this database.
- -->
- <column name="ID_DOMAIN" type="VARCHAR" size="127"/>
- <!--
- Type : Issue, or Enter Issue Template
- -->
- <column name="TYPE_ID" required="false" type="INTEGER"/>
- <!--
- Module that issue relates to.
- -->
- <column name="MODULE_ID" required="true" type="INTEGER"></column>
-
- <!--
- ActivitySets that contain creation and last-modification info for the issue.
- This is redundant as we can get this info using Activity table
- to join ActivitySet and Issue. But this will make some queries more
- straightforward and performant.
- -->
- <column name="CREATED_TRANS_ID" required="false" type="BIGINT"/>
- <column name="LAST_TRANS_ID" required="false" type="BIGINT"/>
-
- <!--
- Flag, which marks that issue has been deleted.
- -->
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- Flag, which marks that issue has been moved (and so its uniqueId
- changed)
- -->
- <column name="MOVED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_TRANSACTION">
- <reference local="CREATED_TRANS_ID" foreign="TRANSACTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_TRANSACTION">
- <reference local="LAST_TRANS_ID" foreign="TRANSACTION_ID"/>
- </foreign-key>
- <index name="IX_TYPE_MODULE">
- <index-column name="TYPE_ID"/>
- <index-column name="MODULE_ID"/>
- </index>
- <index name="IX_COUNT_PREFIX">
- <index-column name="ID_COUNT"/>
- <index-column name="ID_PREFIX"/>
- </index>
-</table>
-
-<table name="SCARAB_ISSUE_TYPE" idMethod="idbroker" javaName="IssueType">
- <!--
- Unique identifier used for primary key.
- -->
- <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="NAME" javaName="Name" required="true" type="VARCHAR"
- size="100"/>
- <!--
- Description.
- -->
- <column name="DESCRIPTION" javaName="Description" required="false" type="VARCHAR" size="255"></column>
- <!--
- If this issue type is a template, the id of the issue type it
- Corresponds to. If is not, parent id is 0.
- -->
- <column name="PARENT_ID" required="true" type="INTEGER"></column>
- <!--
- Deduping on/off for this issuetype.
- -->
- <column name="DEDUPE" required="false" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="LOCKED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- This issue type will be added automatically to any new
- modules that are created.
- -->
- <column name="ISDEFAULT" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="PARENT_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Mapping between modules and issue types.
--->
-<table name="SCARAB_R_MODULE_ISSUE_TYPE" idMethod="none" javaName="RModuleIssueType">
- <!--
- Module.
- -->
- <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Artifact type.
- -->
- <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Flag, which marks that the issue type is not used.
- -->
- <column name="ACTIVE" required="true" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <!--
- Whether or not the issue type shows up in left hand nav.
- -->
- <column name="DISPLAY" required="true" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <!--
- Order the the issue types appear in the left nav.
- -->
- <column name="PREFERRED_ORDER" javaName="Order" required="false"
- default="0" type="INTEGER" javaType="primitive"/>
- <!--
- Deduping on/off for this module/issuetype.
- -->
- <column name="DEDUPE" required="false" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <!--
- Default number of history entries.
- -->
- <column name="HISTORY" required="false" default="5" type="INTEGER"
- javaType="primitive"/>
- <!--
- Default number of comments.
- -->
- <column name="COMMENTS" required="false" default="5" type="INTEGER"
- javaType="primitive"/>
- <!--
- Value that represents the name of the issue type in the UI.
- -->
- <column name="DISPLAY_NAME" required="false" type="VARCHAR" size="255"/>
- <!--
- Value that represents the description of the issue type in the UI.
- -->
- <column name="DISPLAY_DESCRIPTION" required="false" type="VARCHAR" size="255"/>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-</table>
-
-
-<table name="SCARAB_MIT_LIST" idMethod="idbroker" javaName="MITList">
- <!--
- Unique identifier used for primary key.
- -->
- <column name="LIST_ID" primaryKey="true" required="true" type="BIGINT" />
- <!--
- Name.
- -->
- <column name="NAME" javaName="Name" required="false" type="VARCHAR"
- size="100"/>
- <column name="ACTIVE" type="BOOLEANINT" default="1"
- javaType="primitive"/>
- <column name="MODIFIABLE" type="BOOLEANINT" default="1"
- javaType="primitive"/>
- <column name="USER_ID" required="false" type="INTEGER"/>
-
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Mapping between modules and issue types.
--->
-<table name="SCARAB_MIT_LISTITEM" idMethod="idbroker" javaName="MITListItem">
- <!--
- Module.
- -->
- <column name="ITEM_ID" primaryKey="true" required="true" type="BIGINT"/>
- <!--
- Module.
- -->
- <column name="MODULE_ID" required="false" type="INTEGER"/>
- <!--
- Artifact type.
- -->
- <column name="ISSUE_TYPE_ID" required="false" type="INTEGER"/>
- <!--
- The list this item belongs to.
- -->
- <column name="LIST_ID" required="true" type="BIGINT"/>
-
- <foreign-key foreignTable="SCARAB_MIT_LIST">
- <reference local="LIST_ID" foreign="LIST_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-</table>
-
-
-<!--
- Actual attribute of the issue with its value.
--->
-<table name="SCARAB_ISSUE_ATTRIBUTE_VALUE" idMethod="idbroker"
- javaName="AttributeValue" abstract="true">
- <!--
- PK.
- -->
- <column name="VALUE_ID" primaryKey="true" required="true" type="BIGINT" />
- <!--
- Issue that attribute belongs to.
- -->
- <column name="ISSUE_ID" required="true" type="BIGINT"></column>
- <!--
- Attribute.
- -->
- <column name="ATTRIBUTE_ID" required="true"
- type="INTEGER" inheritance="single" />
- <!--
- some attributes are better saved in numeric format, so this column
- can be used in place of VALUE
- -->
- <column name="NUMERIC_VALUE" required="false" type="INTEGER" />
- <!--
- Option that is the value of the attribute if attribute is option based.
- -->
- <column name="OPTION_ID" required="false" type="INTEGER"></column>
- <!--
- Person that is the value of the attribute if attribute is person based.
- -->
- <column name="USER_ID" required="false" type="INTEGER"></column>
-
- <!--
+ <index name="IX_ISS_NEW_OPT">
+ <index-column name="ISSUE_ID"/>
+ <index-column name="NEW_OPTION_ID"/>
+ </index>
+ <index name="IX_ISSUE_NEW_USER">
+ <index-column name="ISSUE_ID"/>
+ <index-column name="NEW_USER_ID"/>
+ </index>
+ </table>
+ <table name="SCARAB_ATTACHMENT" idMethod="idbroker" javaName="Attachment" description="Attachment is a piece of information associated with an issue.">
+ <column name="ATTACHMENT_ID" primaryKey="true" required="true" type="BIGINT" description="Unique identifier."/>
+ <column name="ISSUE_ID" required="false" type="BIGINT" description="Issue that attachment is associated with."/>
+ <column name="ATTACHMENT_TYPE_ID" javaName="TypeId" required="true" type="INTEGER" description="Type"/>
+ <column name="ATTACHMENT_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name that is displayed in the UI."/>
+ <column name="ATTACHMENT_DATA" javaName="Data" required="false" type="LONGVARCHAR" description="Actual information constituting the attachment."/>
+ <column name="ATTACHMENT_FILE_PATH" javaName="FileName" required="false" type="VARCHAR" size="255" description="Server side location of the file that contains attachment. Location is relative to the central file storage location specified in the application properties."/>
+ <column name="ATTACHMENT_MIME_TYPE" javaName="MimeType" required="true" type="VARCHAR" size="255" description="MIME type of the attachment. Describes type of information constituting an attachment."/>
+ <column name="MODIFIED_BY" required="false" type="INTEGER" description="Person that made last modification to the attachment."/>
+ <column name="CREATED_BY" required="false" type="INTEGER" description="Person that associated the attachment with an issue initially."/>
+ <column name="MODIFIED_DATE" required="false" type="TIMESTAMP" description="Date of the last modification of the attachment."/>
+ <column name="CREATED_DATE" required="false" type="TIMESTAMP" description="Date of the initial association of attachment with an issue."/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that attachment has been deleted."/>
+ <index name="IX_ISS_ATTACHTYPE">
+ <index-column name="ISSUE_ID"/>
+ <index-column name="ATTACHMENT_TYPE_ID"/>
+ </index>
+ <foreign-key foreignTable="SCARAB_ISSUE">
+ <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTACHMENT_TYPE">
+ <reference local="ATTACHMENT_TYPE_ID" foreign="ATTACHMENT_TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="CREATED_BY" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="MODIFIED_BY" foreign="USER_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_ATTACHMENT_TYPE" idMethod="idbroker" javaName="AttachmentType" description="Possible attachment types (Comment, File,...)">
+ <column name="ATTACHMENT_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="ATTACHMENT_TYPE_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name."/>
+ <column name="SEARCHABLE" default="0" type="BOOLEANINT" javaType="primitive" description="Flag marking text/searchable attachments"/>
+ </table>
+ <table name="SCARAB_ATTRIBUTE" idMethod="idbroker" javaName="Attribute" description="Possible attributes of an issue. Example: Operating System. Example: Severity">
+ <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="ATTRIBUTE_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name."/>
+ <column name="ATTRIBUTE_TYPE_ID" javaName="TypeId" required="true" type="INTEGER" description="Type."/>
+ <column name="PERMISSION" required="false" type="VARCHAR" size="255" description="A permission related to this attribute."/>
+ <column name="REQUIRED_OPTION_ID" required="false" type="INTEGER" description="A required option for this attribute to be active."/>
+ <column name="DESCRIPTION" javaName="Description" required="true" type="VARCHAR" size="255" description="Description."/>
+ <column name="ACTION" required="false" type="VARCHAR" size="255" description="For user attributes, whether the user will be emailed, cc'd, or neither."/>
+ <column name="CREATED_BY" javaName="CreatedBy" required="false" type="INTEGER" description="Person that set value to the column of the table initially."/>
+ <column name="CREATED_DATE" javaName="CreatedDate" required="false" type="TIMESTAMP" description="Date of the initial set of the column of the table."/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that attribute has been deleted."/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_TYPE">
+ <reference local="ATTRIBUTE_TYPE_ID" foreign="ATTRIBUTE_TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="REQUIRED_OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="CREATED_BY" foreign="USER_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_CONDITION" idMethod="idbroker" javaName="Condition">
+ <column name="CONDITION_ID" primaryKey="true" required="true" type="BIGINT"/>
+ <column name="TRANSITION_ID" primaryKey="false" required="false" type="INTEGER"/>
+ <column name="MODULE_ID" primaryKey="false" required="false" type="INTEGER"/>
+ <column name="ISSUE_TYPE_ID" primaryKey="false" required="false" type="INTEGER"/>
+ <column name="ATTRIBUTE_ID" primaryKey="false" required="false" type="INTEGER"/>
+ <column name="OPTION_ID" primaryKey="false" required="true" type="INTEGER"/>
+ <foreign-key foreignTable="SCARAB_R_MODULE_ATTRIBUTE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_TRANSITION">
+ <reference local="TRANSITION_ID" foreign="TRANSITION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_R_MODULE_ISSUE_TYPE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_ATTRIBUTE_GROUP" idMethod="idbroker" javaName="AttributeGroup" description="Groupings in which attributes appear on the page.">
+ <column name="ATTRIBUTE_GROUP_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="NAME" javaName="Name" required="true" type="VARCHAR" size="255"/>
+ <column name="DESCRIPTION" javaName="Description" required="false" type="VARCHAR" size="255"/>
+ <column name="MODULE_ID" required="false" type="INTEGER" description="Module."/>
+ <column name="ISSUE_TYPE_ID" required="true" type="INTEGER" description="Issue type."/>
+ <column name="ACTIVE" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="DEDUPE" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="false" default="-1" type="INTEGER" javaType="primitive"/>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <index name="IX_ISS_MOD_PRF_ORD">
+ <index-column name="ISSUE_TYPE_ID"/>
+ <index-column name="MODULE_ID"/>
+ <index-column name="PREFERRED_ORDER"/>
+ </index>
+ </table>
+ <table name="SCARAB_R_ATTRIBUTE_ATTRGROUP" idMethod="none" javaName="RAttributeAttributeGroup" description="Mapping from attributes to groups.">
+ <column name="GROUP_ID" primaryKey="true" required="true" type="INTEGER" description="Group."/>
+ <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER" description="Attribute."/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="false" default="-1" type="INTEGER" javaType="primitive"/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_GROUP">
+ <reference local="GROUP_ID" foreign="ATTRIBUTE_GROUP_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_ATTRIBUTE_CLASS" idMethod="idbroker" javaName="AttributeClass" description="Attribute class is group of attributes types that have the same properties. Example: Free form input. Example: Select one from the list">
+ <column name="ATTRIBUTE_CLASS_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="ATTRIBUTE_CLASS_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name."/>
+ <column name="ATTRIBUTE_CLASS_DESC" javaName="Desc" required="true" type="VARCHAR" size="255" description="Description."/>
+ <column name="JAVA_CLASS_NAME" required="false" type="VARCHAR" size="255" description="Fully qualified name of the java class that represents attribute, belonging to the attribute class, in the application."/>
+ </table>
+ <table name="SCARAB_ATTRIBUTE_OPTION" idMethod="idbroker" javaName="AttributeOption" description="Attribute option is possible value of an attribute of an issue. Example: DOS 3.1 (for attribute Operating System)">
+ <column name="OPTION_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="ATTRIBUTE_ID" required="true" type="INTEGER" description="Attribute that can take the options as its value."/>
+ <column name="OPTION_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name."/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that option has been deleted."/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <index name="IX_ATTRIBUTE">
+ <index-column name="ATTRIBUTE_ID"/>
+ </index>
+ </table>
+ <table name="SCARAB_OPTION_RELATIONSHIP" idMethod="idbroker" javaName="OptionRelationship" description="Possible types of dependency between options. Example: Parent-Child. Example: Requires">
+ <column name="RELATIONSHIP_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="RELATIONSHIP_NAME" javaName="Name" required="true" type="VARCHAR" size="100" description="Name."/>
+ </table>
+ <table name="SCARAB_ATTRIBUTE_TYPE" idMethod="idbroker" javaName="AttributeType" description="Attribute type is group of attributes that have the same representation in the application data structure. Attribute type fully defines attribute behavior. Example: Integer. Example: String">
+ <column name="ATTRIBUTE_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="ATTRIBUTE_CLASS_ID" javaName="ClassId" required="true" type="INTEGER" description="Attribute class."/>
+ <column name="ATTRIBUTE_TYPE_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name."/>
+ <column name="JAVA_CLASS_NAME" required="false" type="VARCHAR" size="255" description="Fully qualified name of the java class that represents attribute, belonging to the attribute type, in the application."/>
+ <column name="VALIDATION_KEY" required="false" type="VARCHAR" size="20" description="A key which ties into a validation service (intake)."/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_CLASS">
+ <reference local="ATTRIBUTE_CLASS_ID" foreign="ATTRIBUTE_CLASS_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_DEPEND" idMethod="idbroker" javaName="Depend" description="Dependency between issues. Example: Issue is a duplicate of another issue. Example: Issue is blocking another issue.">
+ <column name="DEPEND_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="OBSERVED_ID" primaryKey="false" required="true" type="BIGINT" description="Issue that other issue depends upon. Example: Issue that blocks. Example: Issue that has duplicates."/>
+ <column name="OBSERVER_ID" primaryKey="false" required="true" type="BIGINT" description="Issue that depends on other issue. Example: Issue that is being blocked. Example: Issue that is duplicate."/>
+ <column name="DEPEND_TYPE_ID" javaName="TypeId" required="true" type="INTEGER" description="Type."/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that dependency has been deleted."/>
+ <foreign-key foreignTable="SCARAB_ISSUE">
+ <reference local="OBSERVED_ID" foreign="ISSUE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE">
+ <reference local="OBSERVER_ID" foreign="ISSUE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_DEPEND_TYPE">
+ <reference local="DEPEND_TYPE_ID" foreign="DEPEND_TYPE_ID"/>
+ </foreign-key>
+ <index name="IX_DEPEND_OBSERVED">
+ <index-column name="OBSERVED_ID"/>
+ <index-column name="DEPEND_TYPE_ID"/>
+ </index>
+ <index name="IX_DEPEND_OBSERVER">
+ <index-column name="OBSERVER_ID"/>
+ <index-column name="DEPEND_TYPE_ID"/>
+ </index>
+ </table>
+ <table name="SCARAB_DEPEND_TYPE" idMethod="idbroker" javaName="DependType" description="Possible types of dependency between issues. Example: Duplicate. Example: Block">
+ <column name="DEPEND_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="DEPEND_TYPE_NAME" javaName="Name" required="true" type="VARCHAR" size="100" description="Name."/>
+ <unique>
+ <unique-column name="DEPEND_TYPE_NAME"/>
+ </unique>
+ </table>
+ <table name="SCARAB_ISSUE" idMethod="idbroker" javaName="Issue" description="Information about artifact under processing in tracking system. Example: Particular defect. Example: Particular inquiry">
+ <column name="ISSUE_ID" primaryKey="true" required="true" type="BIGINT" description="Unique identifier used for primary key."/>
+ <column name="ID_PREFIX" required="true" type="VARCHAR" size="30" description="Part of Id related to module."/>
+ <column name="ID_COUNT" type="INTEGER" required="true" javaType="primitive" description="Part of Id which is an integer."/>
+ <column name="ID_DOMAIN" type="VARCHAR" size="127" description="The instance of scarab the issue was originally reported to. This field could be null for the normal instance where the issue is local to this database."/>
+ <column name="TYPE_ID" required="false" type="INTEGER" description="Type : Issue, or Enter Issue Template"/>
+ <column name="MODULE_ID" required="true" type="INTEGER" description="Module that issue relates to."/>
+ <column name="CREATED_TRANS_ID" required="false" type="BIGINT" description="ActivitySets that contain creation and last-modification info for the issue. This is redundant as we can get this info using Activity table to join ActivitySet and Issue. But this will make some queries more straightforward and performant."/>
+ <column name="LAST_TRANS_ID" required="false" type="BIGINT"/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that issue has been deleted."/>
+ <column name="MOVED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that issue has been moved (and so its uniqueId changed)"/>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_TRANSACTION">
+ <reference local="CREATED_TRANS_ID" foreign="TRANSACTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_TRANSACTION">
+ <reference local="LAST_TRANS_ID" foreign="TRANSACTION_ID"/>
+ </foreign-key>
+ <index name="IX_TYPE_MODULE">
+ <index-column name="TYPE_ID"/>
+ <index-column name="MODULE_ID"/>
+ </index>
+ <index name="IX_COUNT_PREFIX">
+ <index-column name="ID_COUNT"/>
+ <index-column name="ID_PREFIX"/>
+ </index>
+ </table>
+ <table name="SCARAB_ISSUE_TYPE" idMethod="idbroker" javaName="IssueType">
+ <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier used for primary key."/>
+ <column name="NAME" javaName="Name" required="true" type="VARCHAR" size="100" description="Name."/>
+ <column name="DESCRIPTION" javaName="Description" required="false" type="VARCHAR" size="255" description="Description."/>
+ <column name="PARENT_ID" required="true" type="INTEGER" description="If this issue type is a template, the id of the issue type it corresponds to. If is not, parent id is 0."/>
+ <column name="DEDUPE" required="false" type="BOOLEANINT" default="1" javaType="primitive" description="Deduping on/off for this issue type."/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="LOCKED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="ISDEFAULT" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="This issue type will be added automatically to any new modules that are created."/>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="PARENT_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_R_MODULE_ISSUE_TYPE" idMethod="none" javaName="RModuleIssueType" description="Mapping between modules and issue types.">
+ <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" description="Module."/>
+ <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Artifact type."/>
+ <column name="ACTIVE" required="true" type="BOOLEANINT" default="1" javaType="primitive" description="Flag, which marks that the issue type is not used."/>
+ <column name="DISPLAY" required="true" type="BOOLEANINT" default="1" javaType="primitive" description="Whether or not the issue type shows up in left hand nav."/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="false" default="0" type="INTEGER" javaType="primitive" description="Order the issue types appear in the left nav."/>
+ <column name="DEDUPE" required="false" type="BOOLEANINT" default="1" javaType="primitive" description="Deduping on/off for this module/issuetype."/>
+ <column name="HISTORY" required="false" default="5" type="INTEGER" javaType="primitive" description="Default number of history entries."/>
+ <column name="COMMENTS" required="false" default="5" type="INTEGER" javaType="primitive" description="Default number of comments."/>
+ <column name="DISPLAY_NAME" required="false" type="VARCHAR" size="255" description="Value that represents the name of the issue type in the UI."/>
+ <column name="DISPLAY_DESCRIPTION" required="false" type="VARCHAR" size="255" description="Value that represents the description of the issue type in the UI."/>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_MIT_LIST" idMethod="idbroker" javaName="MITList">
+ <column name="LIST_ID" primaryKey="true" required="true" type="BIGINT" description="Unique identifier used for primary key."/>
+ <column name="NAME" javaName="Name" required="false" type="VARCHAR" size="100" description="Name."/>
+ <column name="ACTIVE" type="BOOLEANINT" default="1" javaType="primitive"/>
+ <column name="MODIFIABLE" type="BOOLEANINT" default="1" javaType="primitive"/>
+ <column name="USER_ID" required="false" type="INTEGER"/>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_MIT_LISTITEM" idMethod="idbroker" javaName="MITListItem" description="Mapping between modules and issue types.">
+ <column name="ITEM_ID" primaryKey="true" required="true" type="BIGINT" description="Module."/>
+ <column name="MODULE_ID" required="false" type="INTEGER" description="Module."/>
+ <column name="ISSUE_TYPE_ID" required="false" type="INTEGER" description="Artifact type."/>
+ <column name="LIST_ID" required="true" type="BIGINT" description="The list this item belongs to."/>
+ <foreign-key foreignTable="SCARAB_MIT_LIST">
+ <reference local="LIST_ID" foreign="LIST_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_ISSUE_ATTRIBUTE_VALUE" idMethod="idbroker" javaName="AttributeValue" abstract="true" description="Actual attribute of the issue with its value.">
+ <column name="VALUE_ID" primaryKey="true" required="true" type="BIGINT" description="Unique ID."/>
+ <column name="ISSUE_ID" required="true" type="BIGINT" description="Issue that attribute belongs to."/>
+ <column name="ATTRIBUTE_ID" required="true" type="INTEGER" inheritance="single" description="Attribute."/>
+ <column name="NUMERIC_VALUE" required="false" type="INTEGER" description="Some attributes are better saved in numeric format, so this column can be used in place of VALUE "/>
+ <column name="OPTION_ID" required="false" type="INTEGER" description="Option that is the value of the attribute if attribute is option based."/>
+ <column name="USER_ID" required="false" type="INTEGER" description="Person that is the value of the attribute if attribute is person based."/>
+ <!--
Display value of the attribute.
This column should always contain a value which serves as a "summary value"
of the attribute, you MAY need to look elsewhere to get real value.
@@ -876,1337 +388,480 @@
populate this field with an apropriate value.
-->
- <column name="VALUE" required="false" type="LONGVARCHAR"></column>
+ <column name="VALUE" required="false" type="LONGVARCHAR"/>
+ <!--
- <!--
- Flag, which marks that attribute has been deleted.
-->
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <foreign-key foreignTable="SCARAB_ISSUE">
- <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <index name="IX_DEL_ISS_ATTR">
- <index-column name="DELETED"/>
- <index-column name="ISSUE_ID"/>
- <index-column name="ATTRIBUTE_ID"/>
- </index>
- <!-- index which greatly improves searches for issues based on
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that attribute has been deleted."/>
+ <foreign-key foreignTable="SCARAB_ISSUE">
+ <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <index name="IX_DEL_ISS_ATTR">
+ <index-column name="DELETED"/>
+ <index-column name="ISSUE_ID"/>
+ <index-column name="ATTRIBUTE_ID"/>
+ </index>
+ <!-- index which greatly improves searches for issues based on
option_ids (AdvancedQuery.vm). The test showed having deleted as
the last key was slightly better than having it as the first
key, but the dataset was skewed towards having all deleted=0, so
I don't know how it might work with a more even distribution. -->
- <index name="IX_AV_OPT_ISS_DEL">
- <index-column name="OPTION_ID"/>
- <index-column name="ISSUE_ID"/>
- <index-column name="DELETED"/>
- </index>
- <!-- Similar indices to the above for non-option attributes -->
- <index name="IX_AV_USER_ISS_DEL">
- <index-column name="USER_ID"/>
- <index-column name="ISSUE_ID"/>
- <index-column name="DELETED"/>
- </index>
- <index name="IX_AV_INT_ISS_DEL">
- <index-column name="NUMERIC_VALUE"/>
- <index-column name="ISSUE_ID"/>
- <index-column name="DELETED"/>
- </index>
- <!-- with only the above indices a search criteria containing several
- attributes with multiple options per attribute was not able to
+ <index name="IX_AV_OPT_ISS_DEL">
+ <index-column name="OPTION_ID"/>
+ <index-column name="ISSUE_ID"/>
+ <index-column name="DELETED"/>
+ </index>
+ <!-- Similar indices to the above for non-option attributes -->
+ <index name="IX_AV_USER_ISS_DEL">
+ <index-column name="USER_ID"/>
+ <index-column name="ISSUE_ID"/>
+ <index-column name="DELETED"/>
+ </index>
+ <index name="IX_AV_INT_ISS_DEL">
+ <index-column name="NUMERIC_VALUE"/>
+ <index-column name="ISSUE_ID"/>
+ <index-column name="DELETED"/>
+ </index>
+ <!-- with only the above indices a search criteria containing several
+ attributes with multiple options per attribute was not able to
make use of the common issue_id join condition which led to a
cross join of sorts. We could replace the index above with those
below, but the optimum speed is obtained with both. -->
- <index name="IX_AV_ISS_OPT_DEL">
- <index-column name="ISSUE_ID"/>
- <index-column name="OPTION_ID"/>
- <index-column name="DELETED"/>
- </index>
- <index name="IX_AV_ISS_USER_DEL">
- <index-column name="ISSUE_ID"/>
- <index-column name="USER_ID"/>
- <index-column name="DELETED"/>
- </index>
- <index name="IX_AV_ISS_INT_DEL">
- <index-column name="ISSUE_ID"/>
- <index-column name="NUMERIC_VALUE"/>
- <index-column name="DELETED"/>
- </index>
-</table>
-
-<!--
- Modification information for table. Not currently used.
--->
-<table name="SCARAB_MODIFICATION" idMethod="idbroker" javaName="Modification">
- <!--
- Table.
- -->
- <column name="TABLE_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Column of the table.
- -->
- <column name="COLUMN_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Person that made last modification to the column of the table.
- -->
- <column name="MODIFIED_BY" required="false" type="INTEGER"></column>
- <!--
- Person that set value to the column of the table initially.
- -->
- <column name="CREATED_BY" required="false" type="INTEGER"></column>
- <!--
- Date of the last modification of the column of the table.
- -->
- <column name="MODIFIED_DATE" required="false" type="TIMESTAMP"></column>
- <!--
- Date of the initial set of the column of the table.
- -->
- <column name="CREATED_DATE" required="false" type="TIMESTAMP"></column>
-</table>
-
-<!--
- Logical category of issues.
- Usually corresponds to the software project.
- Example: Scarab
--->
-<table name="SCARAB_MODULE" idMethod="idbroker" javaName="ScarabModule"
- baseClass="org.tigris.scarab.om.AbstractScarabModule"
- interface="Module">
- <!--
- Unique identifier.
- -->
- <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Name. It is RealName because Module implements the Turbine Group interface
- and having it as Name would clash with that interface. Please note that
- the result of group.getName() needs to be unique for each SCARAB_MODULE.
- -->
- <column name="MODULE_NAME" javaName="RealName" required="true" type="VARCHAR" size="255"></column>
- <!--
- The instance name of scarab the module is located within.
- -->
- <column name="DOMAIN" type="VARCHAR" size="127"/>
- <!--
- Abbreviation whose primary use to identify related issues.
- -->
- <column name="MODULE_CODE" javaName="Code" required="true"
- type="VARCHAR" size="30"/>
- <!--
- Description.
- -->
- <column name="MODULE_DESCRIPTION" javaName="Description" required="true" type="VARCHAR" size="255"></column>
- <!--
- URL pointing to the information on the module.
- -->
- <column name="MODULE_URL" javaName="Url" required="false" type="VARCHAR" size="255"></column>
- <!--
- An email address that all emails generated for this module
- will be sent to.
- -->
- <column name="ARCHIVE_EMAIL" required="false" type="VARCHAR" size="99"/>
- <!--
- Parent module containing the module.
- Allows for hierarchical structure of modules.
- -->
- <column name="PARENT_ID" required="true" type="INTEGER"></column>
- <!--
- Person that is responsible for the module. @deprecated
- -->
- <column name="OWNER_ID" required="false" type="INTEGER"></column>
- <!--
- Key quality assurance person for the module. @deprecated
- -->
- <column name="QA_CONTACT_ID" required="false" type="INTEGER"></column>
- <!--
- Flag, which marks that module has been deleted.
- -->
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="LOCKED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="CLASS_KEY" required="false" type="INTEGER"
- javaType="primitive" inheritance="single">
- <inheritance key="1" class="ScarabModuleContainer" extends="org.tigris.scarab.om.ScarabModule"/>
- </column>
-
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="PARENT_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="OWNER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="QA_CONTACT_ID" foreign="USER_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Attributes that are applicable to issues of the particular module.
--->
-<table name="SCARAB_R_MODULE_ATTRIBUTE" idMethod="none" javaName="RModuleAttribute">
- <!--
- Module.
- -->
- <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Attribute.
- -->
- <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Issue type.
- -->
- <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Value that represents the attribute in the UI.
- -->
- <column name="DISPLAY_VALUE" required="true" type="VARCHAR" size="255"/>
- <!--
- Flag, which marks that module attribute is not used.
- -->
- <column name="ACTIVE" required="true" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <!--
- Flag, which marks that issues entered for this module must have
- this attribute set.
- -->
- <column name="REQUIRED" required="true" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- Column order.
- -->
- <column name="PREFERRED_ORDER" javaName="Order" required="true" default="0" type="INTEGER" javaType="primitive"/>
- <!--
- Flag, which marks this attribute as being eligible for quick search.
- -->
- <column name="QUICK_SEARCH" required="true" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- Flag, which marks that this attribute should be used in the email
- subject line, when an issue is created. May be used in other
- contexts as well
- -->
- <column name="DEFAULT_TEXT_FLAG" required="true" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-
- <index name="IX_MOD_ATTR_REQ">
- <index-column name="REQUIRED"/>
- </index>
- <index name="IX_MOD_ATTR_QSRCH">
- <index-column name="QUICK_SEARCH"/>
- </index>
-</table>
-
-<!--
- Attributes that are mapped to a global issue type.
--->
-<table name="SCARAB_R_ISSUETYPE_ATTRIBUTE" idMethod="none" javaName="RIssueTypeAttribute">
- <!--
- Attribute.
- -->
- <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Issue type.
- -->
- <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Flag, which marks that module attribute is not used.
- -->
- <column name="ACTIVE" required="true" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <!--
- Flag, which marks that issues entered for this module must have
- this attribute set.
- -->
- <column name="REQUIRED" required="true" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- Column order.
- -->
- <column name="PREFERRED_ORDER" javaName="Order" required="true" default="0" type="INTEGER" javaType="primitive"/>
- <!--
- Flag, which marks this attribute as being eligible for quick search.
- -->
- <column name="QUICK_SEARCH" required="true" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- Flag, which marks that this attribute should be used in the email
- subject line, when an issue is created. May be used in other
- contexts as well
- -->
- <column name="DEFAULT_TEXT_FLAG" required="true" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="LOCKED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-
- <index name="IX_ISSTYP_ATTR_REQ">
- <index-column name="REQUIRED"/>
- </index>
- <index name="IX_ITYP_ATTR_QSRCH">
- <index-column name="QUICK_SEARCH"/>
- </index>
-</table>
-
-<!--
- Options that are applicable to issues of the particular module.
--->
-<table name="SCARAB_R_MODULE_OPTION" idMethod="none" javaName="RModuleOption">
- <!--
- Module.
- -->
- <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Issue Type.
- -->
- <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Option.
- -->
- <column name="OPTION_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Value that represents the option in the UI.
- -->
- <column name="DISPLAY_VALUE" required="false" type="VARCHAR" size="255"/>
- <!--
- Flag, which marks that option has been deleted within the module.
- -->
- <column name="ACTIVE" required="true" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <!--
- Allows the template engineer and module owner some means to
- order option listings.
- -->
- <column name="PREFERRED_ORDER" javaName="Order" required="false"
- default="-1" type="INTEGER" javaType="primitive"/>
- <column name="WEIGHT" javaName="Weight" required="false"
- default="-1" type="INTEGER" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Attribute options that are mapped to a global issue type.
--->
-<table name="SCARAB_R_ISSUETYPE_OPTION" idMethod="none" javaName="RIssueTypeOption">
- <!--
- Issue Type.
- -->
- <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Option.
- -->
- <column name="OPTION_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Flag, which marks that option has been deleted within the module.
- -->
- <column name="ACTIVE" required="true" type="BOOLEANINT"
- default="1" javaType="primitive"/>
- <column name="LOCKED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- Allows the template engineer and module owner some means to
- order option listings.
- -->
- <column name="PREFERRED_ORDER" javaName="Order" required="false"
- default="-1" type="INTEGER" javaType="primitive"/>
- <column name="WEIGHT" javaName="Weight" required="false"
- default="-1" type="INTEGER" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Sets up relations between options.
--->
-<table name="SCARAB_R_OPTION_OPTION" idMethod="none" javaName="ROptionOption">
- <!--
- Parent Option.
- -->
- <column name="OPTION1_ID" primaryKey="true" required="true"
- type="INTEGER"/>
- <!--
- Child Option.
- -->
- <column name="OPTION2_ID" primaryKey="true" required="true"
- type="INTEGER"/>
- <!--
- The type of relationship. See the SCARAB_OPTION_RELATIONSHIP
- table for the different types
- -->
- <column name="RELATIONSHIP_ID" required="true" type="INTEGER"/>
- <!--
- This gives "weight" to an option. In other words, it can be used
- to set the "importance" of one option vs. another option. P1 can
- be made more "important" than P2. This is currently not used
- in any of the code. This may become more useful in
- the future when we have outside workflow logic. This is placed
- here because an Attribute Option may have different weights
- with different parents.
- -->
- <column name="WEIGHT" required="false" type="INTEGER" javaType="primitive"/>
- <!--
- The preferred order that these options should be shown in.
- Each option should have a 1-N ordering for all of its
- options (regardless of nesting).
- -->
- <column name="PREFERRED_ORDER" required="true" type="INTEGER"
- javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="OPTION1_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="OPTION2_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_OPTION_RELATIONSHIP">
- <reference local="RELATIONSHIP_ID" foreign="RELATIONSHIP_ID"/>
- </foreign-key>
-</table>
-
-<!--
- User's choice of attributes to appear on the Issue List screen.
--->
-<table name="SCARAB_R_MODULE_USER_ATTRIBUTE" idMethod="idbroker"
- javaName="RModuleUserAttribute">
- <!--
- pk.
- -->
- <column name="RMUA_ID" primaryKey="true" required="true" type="BIGINT"/>
-
- <!--
- MITList .
- -->
- <column name="LIST_ID" required="false" type="BIGINT"/>
- <!--
- Module.
- -->
- <column name="MODULE_ID" required="false" type="INTEGER"/>
- <!--
- Person.
- -->
- <column name="USER_ID" required="true" type="INTEGER"/>
- <!--
- Artifact type.
- -->
- <column name="ISSUE_TYPE_ID" required="false" type="INTEGER"/>
- <!--
- Attribute.
- -->
- <column name="ATTRIBUTE_ID" required="true" type="INTEGER"/>
- <!--
- Name of an internal attribute. Possible values are currently:
- - "CREATION_DATE"
- - "CREATION_USER"
- - "MODIFICATION_DATE"
- - "MODIFICATION_USER"
- -->
- <column name="INTERNAL_ATTRIBUTE" required="false" type="VARCHAR" size="20"/>
- <!--
- Column order.
- -->
- <column name="PREFERRED_ORDER" javaName="Order" required="true"
- default="0" type="INTEGER" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_MIT_LIST">
- <reference local="LIST_ID" foreign="LIST_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
-
- <unique>
- <unique-column name="LIST_ID"/>
- <unique-column name="MODULE_ID"/>
- <unique-column name="USER_ID"/>
- <unique-column name="ISSUE_TYPE_ID"/>
- <unique-column name="ATTRIBUTE_ID"/>
- <unique-column name="INTERNAL_ATTRIBUTE"/>
- </unique>
-</table>
-
-<!--
- Transaction is a group of attribute modification that are performed
- together.
--->
-<table name="SCARAB_TRANSACTION" idMethod="idbroker" javaName="ActivitySet">
- <!--
- Unique identifier.
- -->
- <column name="TRANSACTION_ID" primaryKey="true" required="true" type="BIGINT" javaName="ActivitySetId"/>
- <!--
- Possible enumerated activitySet type.
- -->
- <column name="TYPE_ID" required="false" type="INTEGER"/>
- <!--
- Comment added to modification.
- -->
- <column name="ATTACHMENT_ID" required="false" type="BIGINT"/>
- <!--
- Person that performed the activitySet.
- -->
- <column name="CREATED_BY" required="false" type="INTEGER"></column>
- <!--
- Date of the activitySet.
- -->
- <column name="CREATED_DATE" required="false" type="TIMESTAMP"></column>
-
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="CREATED_BY" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_TRANSACTION_TYPE">
- <reference local="TYPE_ID" foreign="TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTACHMENT">
- <reference local="ATTACHMENT_ID" foreign="ATTACHMENT_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Possible types of transactions.
- Example: Issue Created
- Example: Issue Moved
--->
-<table name="SCARAB_TRANSACTION_TYPE" idMethod="idbroker"
- javaName="ActivitySetType">
- <!--
- Unique identifier.
- -->
- <column name="TYPE_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Name.
- -->
- <column name="NAME" javaName="Name" required="true" type="VARCHAR"
- size="100"/>
-</table>
-
-
-<!--
- Dummy table for where the USER_ID lives. In most cases, this will be a
- foreign table outside of the scope of Scarab itself. For example, if you are
- using Scarab with Turbine, then this will be defined as TURBINE_USER. For
- use in other systems, you will want to define this to be the name of your
- own USER table and update the FK references in this file to point at the new
- name. Then, all you need to do is regenerate the OR code to use the new
- table name.
--->
-<table name="TURBINE_USER" javaName="ScarabUserImpl" alias="TurbineUser"
- baseClass="org.apache.fulcrum.security.impl.db.entity.TurbineUser"
- basePeer="org.apache.fulcrum.security.impl.db.entity.TurbineUserPeer"
- interface="ScarabUser">
- <!--
- Unique identifier.
- -->
- <column name="USER_ID" primaryKey="true" required="true" type="INTEGER"/>
-</table>
-
-<!--
- Dummy table for where the USER_ID lives. In most cases, this will be a
- foreign table outside of the scope of Scarab itself. For example, if you are
- using Scarab with Turbine, then this will be defined as TURBINE_USER. For
- use in other systems, you will want to define this to be the name of your
- own USER table and update the FK references in this file to point at the new
- name. Then, all you need to do is regenerate the OR code to use the new
- table name.
--->
-<table name="TURBINE_ROLE" javaName="ScarabRoleImpl" alias="TurbineRole"
- baseClass="org.apache.fulcrum.security.impl.db.entity.TurbineRole"
- basePeer="org.apache.fulcrum.security.impl.db.entity.TurbineRolePeer"
- >
- <!--
- Unique identifier.
- -->
- <column name="ROLE_ID" primaryKey="true" required="true" type="INTEGER"/>
-</table>
-
-<!--
- This table is used to store user preferences and other information
- relating to a specific user.
--->
-<table name="SCARAB_USER_PREFERENCE" idMethod="none" javaName="UserPreference">
- <!--
- Unique identifier.
- -->
- <column name="USER_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- This is a column that Scarab standalone needs. Torque doesn't do anything
- with it at this point because this is an aliased table. Leaving it in
- here just as an FYI and in the hope that one day, Torque will generate
- the right methods even for aliased tables.
- -->
- <column name="PASSWORD_EXPIRE" type="TIMESTAMP"/>
- <column name="ENTER_ISSUE_REDIRECT" type="INTEGER" javaType="primitive"/>
- <column name="HOME_PAGE" type="VARCHAR" size="32"/>
- <!--
- Currently stores information in a format which conforms to
- the definition of the HTTP Accept-Language header.
-
- Real world examples:
- de-at,de;q=0.8,en-us;q=0.5,en;q=0.3
- en-us,en;q=0.5
- en-gb,en-us;q=0.5
- zh-cn
- de-de,de-ch;q=0.8,en-us;q=0.5,en;q=0.3
- en-us, en;q=0.50
-
- If this value cannot be parsed or is null, the current
- Module's default locale will be used. If the Module does not
- have a default locale, the LocalizationService's default
- language will be used.
- -->
- <column name="LOCALE" type="VARCHAR" size="255"/>
-
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
-</table>
-
-<!--
- A user's record of votes. It is assumed that a module that supports
- voting will give a new user some votes to use when the user is added,
- otherwise the user has no votes.
--->
-<table name="SCARAB_USER_VOTE" idMethod="none" javaName="UserVote">
- <!--
- Module.
- -->
- <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" />
- <!--
- Person.
- -->
- <column name="USER_ID" primaryKey="true" required="true" type="INTEGER" />
- <!--
- The total votes a user is allowed to cast in a project.
- -->
- <column name="TOTAL_VOTES" required="false" type="INTEGER"
- default="0" javaType="primitive"/>
- <!--
- The number of votes a user has cast in a project.
- -->
- <column name="USED_VOTES" required="false" type="INTEGER"
- default="0" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
-</table>
-
-<!--
- The number of votes a user has cast for an issue.
--->
-<table name="SCARAB_ISSUE_VOTE" idMethod="none" javaName="IssueVote">
- <!--
- Module.
- -->
- <column name="ISSUE_ID" primaryKey="true" required="true" type="BIGINT" />
- <!--
- Person.
- -->
- <column name="USER_ID" primaryKey="true" required="true" type="INTEGER" />
- <!--
- The votes a user has cast for the issue.
- -->
- <column name="VOTES" required="false" type="INTEGER"
- default="0" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_ISSUE">
- <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
-</table>
-
-<!--
- A saved user query.
--->
-<table name="SCARAB_QUERY" idMethod="idbroker" javaName="Query">
-
- <column name="QUERY_ID" primaryKey="true" required="true" type="BIGINT"></column>
- <!--
- Person who created the query.
- -->
- <column name="USER_ID" required="true" type="INTEGER"></column>
- <!--
- The name the query will be saved under.
- -->
- <column name="NAME" required="true" type="VARCHAR" size="255" />
-
- <!--
- The description of the saved query.
- -->
- <column name="DESCRIPTION" required="false" type="VARCHAR" size="255" />
- <!--
- The query string.
- -->
- <column name="VALUE" required="true" type="LONGVARCHAR" />
-
- <!--
- Type.
- -->
- <column name="SCOPE_ID" javaName="ScopeId" required="true" type="INTEGER"></column>
- <!--
- Issue type.
- -->
- <column name="ISSUE_TYPE_ID" required="false" type="INTEGER"></column>
- <!--
- Module.
- -->
- <column name="MODULE_ID" required="false" type="INTEGER"></column>
- <!--
- List id. Either issuetype/module id or list_id is used.
- -->
- <column name="LIST_ID" required="false" type="BIGINT"></column>
-
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="APPROVED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="CREATED_DATE" required="false" type="TIMESTAMP"></column>
- <!--
- Default subscription frequency.
- -->
- <column name="SUBSCRIPTION_FREQUENCY_ID" required="false" type="INTEGER" />
- <!--
- Whether or not this query should show up on the homepage.
- -->
- <column name="HOME_PAGE" javaName="HomePage" required="false"
- default="0" type="BOOLEANINT" javaType="primitive"/>
- <!--
- The order in which the user wants to see the queries in the home page
- -->
- <column name="PREFERRED_ORDER" javaName="Order" required="false"
- default="0" type="INTEGER" javaType="primitive"/>
-
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_SCOPE">
- <reference local="SCOPE_ID" foreign="SCOPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MIT_LIST">
- <reference local="LIST_ID" foreign="LIST_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_FREQUENCY">
- <reference local="SUBSCRIPTION_FREQUENCY_ID" foreign="FREQUENCY_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Users subscribed to a query.
--->
-<table name="SCARAB_R_QUERY_USER" idMethod="none"
- javaName="RQueryUser">
- <!--
- Query.
- -->
- <column name="QUERY_ID" primaryKey="true" required="true" type="BIGINT"></column>
- <!--
- Person subscribed to a query (might not be the person who created it).
- -->
- <column name="USER_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Is user subscribed.
- -->
- <column name="IS_SUBSCRIBED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- User's subscription frequency.
- -->
- <column name="SUBSCRIPTION_FREQUENCY_ID" javaName="SubscriptionFrequency" required="false" type="INTEGER" ></column>
- <!--
- Whether this is the user's default query.
- -->
- <column name="ISDEFAULT" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
-
- <foreign-key foreignTable="SCARAB_QUERY">
- <reference local="QUERY_ID" foreign="QUERY_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_FREQUENCY">
- <reference local="SUBSCRIPTION_FREQUENCY_ID" foreign="FREQUENCY_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Frequencies of an event.
- Examples: every half hour, weekly
--->
-<table name="SCARAB_FREQUENCY" idMethod="none" javaName="Frequency">
- <!--
- Unique identifier.
- -->
- <column name="FREQUENCY_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="FREQUENCY_NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
-</table>
-
-<!--
- A saved user template for entering issues.
--->
-<table name="SCARAB_ISSUE_TEMPLATE_INFO" idMethod="none" javaName="IssueTemplateInfo">
-
- <column name="ISSUE_ID" primaryKey="true" required="true" type="BIGINT"></column>
- <!--
- Person.
- -->
- <column name="NAME" required="true" type="VARCHAR" size="255" />
-
- <!--
- The description of the saved template.
- -->
- <column name="DESCRIPTION" required="false" type="VARCHAR" size="255" />
- <column name="APPROVED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <!--
- Scope : personal or global.
- -->
- <column name="SCOPE_ID" javaName="ScopeId" required="true" type="INTEGER"></column>
- <foreign-key foreignTable="SCARAB_ISSUE">
- <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_SCOPE">
- <reference local="SCOPE_ID" foreign="SCOPE_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Scope: personal, global.
--->
-<table name="SCARAB_SCOPE" idMethod="none" javaName="Scope">
- <!--
- Unique identifier.
- -->
- <column name="SCOPE_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Name.
- -->
- <column name="SCOPE_NAME" javaName="Name" required="true" type="VARCHAR" size="255"></column>
-</table>
-
-<!--
- A saved report.
--->
-<table name="SCARAB_REPORT" idMethod="idbroker" javaName="Report">
-
- <column name="REPORT_ID" primaryKey="true" required="true" type="INTEGER"/>
- <!--
- Person.
- -->
- <column name="USER_ID" required="true" type="INTEGER"/>
- <!--
- Module.
- -->
- <column name="MODULE_ID" required="false" type="INTEGER"/>
- <!--
- Issue type.
- -->
- <column name="ISSUE_TYPE_ID" required="true" type="INTEGER"></column>
- <!--
- The name the report will be saved under.
- -->
- <column name="NAME" required="true" type="VARCHAR" size="255"/>
-
- <!--
- The description of the saved report.
- -->
- <column name="DESCRIPTION" required="false" type="VARCHAR" size="255"/>
-
- <!--
- The report string.
- -->
- <column name="QUERY_STRING" required="true" type="LONGVARCHAR"/>
-
- <!--
- Type.
- -->
- <column name="SCOPE_ID" javaName="ScopeId" required="true" type="INTEGER"/>
-
- <column name="DELETED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive"/>
- <column name="CREATED_DATE" required="false" type="TIMESTAMP"/>
-
- <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
- <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_SCOPE">
- <reference local="SCOPE_ID" foreign="SCOPE_ID"/>
- </foreign-key>
-</table>
-
-
-<table name="SCARAB_PENDING_GROUP_USER_ROLE" javaName="PendingGroupUserRole">
- <column name="USER_ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="GROUP_ID" required="true" primaryKey="true" type="INTEGER"/>
- <column name="ROLE_NAME" required="true" primaryKey="true"
- type="VARCHAR" size="255"/>
-
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="GROUP_ID" foreign="MODULE_ID"/>
- </foreign-key>
-</table>
-
-<table name="SCARAB_GLOBAL_PARAMETER" idMethod="idbroker"
- javaName="GlobalParameter">
- <column name="PARAMETER_ID" required="true" primaryKey="true"
- type="INTEGER"/>
- <column name="NAME" required="true" type="VARCHAR" size="255"/>
- <column name="VALUE" required="true" type="VARCHAR" size="255"/>
- <!--
- Module id can be null, if the parameter is not module related.
- Module id can be 0, if it is to be a default if a given module
- does not have a more specific value
- -->
- <column name="MODULE_ID" required="false" type="INTEGER"/>
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
-</table>
-
-<!--
- Transition table for the Workflow engine
--->
-<table name="SCARAB_TRANSITION" idMethod="idbroker" javaName="Transition">
- <!--
- Unique identifier.
- -->
- <column name="TRANSITION_ID" primaryKey="true" required="true" type="INTEGER"></column>
- <!--
- Role id
- -->
- <column name="ROLE_ID" javaName="RoleId" required="false" type="INTEGER"></column><!---->
- <!--
- attribute id
- -->
- <column name="ATTRIBUTE_ID" javaName="AttributeId" required="true" type="INTEGER"></column>
- <!--
- from attribute option id
- -->
- <column name="FROM_OPTION_ID" javaName="FromOptionId" required="false" type="INTEGER"></column>
- <!--
- to attribute option id
- -->
- <column name="TO_OPTION_ID" javaName="ToOptionId" required="false" type="INTEGER"></column>
- <column name="DISABLED_IF_BLOCKED" required="false" type="BOOLEANINT"
- default="0" javaType="primitive">
-<!-- description="If this flag is true, the transition will not be availaible when the issue is blocked"-->
- </column>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE">
- <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="FROM_OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
- <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
- <reference local="TO_OPTION_ID" foreign="OPTION_ID"/>
- </foreign-key>
-</table>
-
-
- <!-- =============================================================== -->
- <!-- Notification Status table. Needed by NotificationManager. -->
- <!-- COLUMNS: -->
- <!-- TRANSACTION_ID foreign key to SCARAB_TRANSACTION -->
- <!-- CREATOR_ID of this entry (foreign key to SCARAB_USER)-->
- <!-- USER_ID user to be notified (foreign key to SCARAB_USER)-->
- <!-- STATUS notification status -->
- <!-- CREATION_DATE creation date of this entry -->
- <!-- CHANGE_DATE date os last change of this entry -->
- <!-- =============================================================== -->
- <table name="SCARAB_NOTIFICATION_STATUS"
- idMethod="none"
- javaName="NotificationStatus" >
-
- <!-- =============================================================== -->
- <!-- Unique identifier. The ACTIVITY_ID is also a foreign key -->
- <!-- to SCARAB_ACTIVITY -->
- <!-- =============================================================== -->
- <column name="ACTIVITY_ID"
- primaryKey="true"
- required="true"
- type="BIGINT">
- </column>
-
- <!-- =============================================================== -->
- <!-- User id User to be notified -->
- <!-- =============================================================== -->
- <column name="CREATOR_ID"
- primaryKey="true"
- javaName="CreatorId"
- required="true"
- type="INTEGER">
- </column>
-
- <!-- =============================================================== -->
- <!-- User id User to be notified -->
- <!-- =============================================================== -->
- <column name="RECEIVER_ID"
- primaryKey="true"
- javaName="ReceiverId"
- required="true"
- type="INTEGER">
- </column>
-
- <!-- =============================================================== -->
- <!-- Notfication status -->
- <!-- 1="WAIT" -->
- <!-- 2="SHEDULED" -->
- <!-- 3="DEFERRED" -->
- <!-- 4="FAIL" -->
- <!-- 5="SENT" -->
- <!-- =============================================================== -->
- <column name="STATUS"
- javaName="Status"
- required="true"
- type="INTEGER">
- </column>
-
- <!-- =============================================================== -->
- <!-- Creation date of this record -->
- <!-- =============================================================== -->
- <column name="CREATION_DATE" required="false" type="DATE"/>
-
- <!-- =============================================================== -->
- <!-- date of last status change -->
- <!-- =============================================================== -->
- <column name="CHANGE_DATE" required="false" type="DATE"/>
-
- <!-- =============================================================== -->
- <!-- optional comment (mainly used for error messages) -->
- <!-- =============================================================== -->
- <column name="STATUS_COMMENT" javaName="Comment" required="false" type="VARCHAR" size="255"/>
-
-
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="CREATOR_ID" foreign="USER_ID"/>
- </foreign-key>
-
- <!-- FIXME: [SCB1793] temporary commented out the next fk,
- because (in b21) a nonexistent user_id is used to
+ <index name="IX_AV_ISS_OPT_DEL">
+ <index-column name="ISSUE_ID"/>
+ <index-column name="OPTION_ID"/>
+ <index-column name="DELETED"/>
+ </index>
+ <index name="IX_AV_ISS_USER_DEL">
+ <index-column name="ISSUE_ID"/>
+ <index-column name="USER_ID"/>
+ <index-column name="DELETED"/>
+ </index>
+ <index name="IX_AV_ISS_INT_DEL">
+ <index-column name="ISSUE_ID"/>
+ <index-column name="NUMERIC_VALUE"/>
+ <index-column name="DELETED"/>
+ </index>
+ </table>
+ <table name="SCARAB_MODIFICATION" idMethod="idbroker" javaName="Modification" description="Modification information for table. Not currently used.">
+ <column name="TABLE_ID" primaryKey="true" required="true" type="INTEGER" description="Table."/>
+ <column name="COLUMN_ID" primaryKey="true" required="true" type="INTEGER" description="Column of the table."/>
+ <column name="MODIFIED_BY" required="false" type="INTEGER" description="Person that made last modification to the column of the table."/>
+ <column name="CREATED_BY" required="false" type="INTEGER" description="Person that set value to the column of the table initially."/>
+ <column name="MODIFIED_DATE" required="false" type="TIMESTAMP" description="Date of the last modification of the column of the table."/>
+ <column name="CREATED_DATE" required="false" type="TIMESTAMP" description="Date of the initial set of the column of the table."/>
+ </table>
+ <table name="SCARAB_MODULE" idMethod="idbroker" javaName="ScarabModule" baseClass="org.tigris.scarab.om.AbstractScarabModule" interface="Module" description="Logical category of issues. Usually corresponds to the software project. Example: Scarab">
+ <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="MODULE_NAME" javaName="RealName" required="true" type="VARCHAR" size="255" description="Name. It is RealName because Module implements the Turbine Group interface and having it as Name would clash with that interface. Please note that the result of group.getName() needs to be unique for each SCARAB_MODULE."/>
+ <column name="DOMAIN" type="VARCHAR" size="127" description="The instance name of scarab the module is located within."/>
+ <column name="MODULE_CODE" javaName="Code" required="true" type="VARCHAR" size="30" description="Abbreviation whose primary use to identify related issues."/>
+ <column name="MODULE_DESCRIPTION" javaName="Description" required="true" type="VARCHAR" size="255" description="Description."/>
+ <column name="MODULE_URL" javaName="Url" required="false" type="VARCHAR" size="255" description="URL pointing to the information on the module."/>
+ <column name="ARCHIVE_EMAIL" required="false" type="VARCHAR" size="99" description="An email address that all emails generated for this module will be sent to."/>
+ <column name="PARENT_ID" required="true" type="INTEGER" description="Parent module containing the module. Allows for hierarchical structure of modules."/>
+ <column name="OWNER_ID" required="false" type="INTEGER" description="Person that is responsible for the module. @deprecated"/>
+ <column name="QA_CONTACT_ID" required="false" type="INTEGER" description="Key quality assurance person for the module. @deprecated"/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that module has been deleted."/>
+ <column name="LOCKED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="CLASS_KEY" required="false" type="INTEGER" javaType="primitive" inheritance="single">
+ <inheritance key="1" class="ScarabModuleContainer" extends="org.tigris.scarab.om.ScarabModule"/>
+ </column>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="PARENT_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="OWNER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="QA_CONTACT_ID" foreign="USER_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_R_MODULE_ATTRIBUTE" idMethod="none" javaName="RModuleAttribute" description="Attributes that are applicable to issues of the particular module.">
+ <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" description="Module."/>
+ <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER" description="Attribute."/>
+ <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Issue type."/>
+ <column name="DISPLAY_VALUE" required="true" type="VARCHAR" size="255" description="Value that represents the attribute in the UI."/>
+ <column name="ACTIVE" required="true" type="BOOLEANINT" default="1" javaType="primitive" description="Flag, which marks that module attribute is not used."/>
+ <column name="REQUIRED" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that issues entered for this module must have this attribute set."/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="true" default="0" type="INTEGER" javaType="primitive" description="Column order."/>
+ <column name="QUICK_SEARCH" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks this attribute as being eligible for quick search."/>
+ <column name="DEFAULT_TEXT_FLAG" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that this attribute should be used in the email subject line, when an issue is created. May be used in other contexts as well"/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <index name="IX_MOD_ATTR_REQ">
+ <index-column name="REQUIRED"/>
+ </index>
+ <index name="IX_MOD_ATTR_QSRCH">
+ <index-column name="QUICK_SEARCH"/>
+ </index>
+ </table>
+ <table name="SCARAB_R_ISSUETYPE_ATTRIBUTE" idMethod="none" javaName="RIssueTypeAttribute" description="Attributes that are mapped to a global issue type.">
+ <column name="ATTRIBUTE_ID" primaryKey="true" required="true" type="INTEGER" description="Attribute."/>
+ <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Issue type."/>
+ <column name="ACTIVE" required="true" type="BOOLEANINT" default="1" javaType="primitive" description="Flag, which marks that module attribute is not used."/>
+ <column name="REQUIRED" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that issues entered for this module must have this attribute set."/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="true" default="0" type="INTEGER" javaType="primitive" description="Column order."/>
+ <column name="QUICK_SEARCH" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks this attribute as being eligible for quick search."/>
+ <column name="DEFAULT_TEXT_FLAG" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="Flag, which marks that this attribute should be used in the email subject line, when an issue is created. May be used in other contexts as well"/>
+ <column name="LOCKED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <index name="IX_ISSTYP_ATTR_REQ">
+ <index-column name="REQUIRED"/>
+ </index>
+ <index name="IX_ITYP_ATTR_QSRCH">
+ <index-column name="QUICK_SEARCH"/>
+ </index>
+ </table>
+ <table name="SCARAB_R_MODULE_OPTION" idMethod="none" javaName="RModuleOption" description="Options that are applicable to issues of the particular module.">
+ <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" description="Module."/>
+ <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Issue Type."/>
+ <column name="OPTION_ID" primaryKey="true" required="true" type="INTEGER" description="Option."/>
+ <column name="DISPLAY_VALUE" required="false" type="VARCHAR" size="255" description="Value that represents the option in the UI."/>
+ <column name="ACTIVE" required="true" type="BOOLEANINT" default="1" javaType="primitive" description="Flag, which marks that option has been deleted within the module."/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="false" default="-1" type="INTEGER" javaType="primitive" description="Allows the template engineer and module owner some means to order option listings."/>
+ <column name="WEIGHT" javaName="Weight" required="false" default="-1" type="INTEGER" javaType="primitive"/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_R_ISSUETYPE_OPTION" idMethod="none" javaName="RIssueTypeOption" description="Attribute options that are mapped to a global issue type.">
+ <column name="ISSUE_TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Issue Type."/>
+ <column name="OPTION_ID" primaryKey="true" required="true" type="INTEGER" description="Option."/>
+ <column name="ACTIVE" required="true" type="BOOLEANINT" default="1" javaType="primitive" description="Flag, which marks that option has been deleted within the module."/>
+ <column name="LOCKED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="false" default="-1" type="INTEGER" javaType="primitive" description=" Allows the template engineer and module owner some means to order option listings."/>
+ <column name="WEIGHT" javaName="Weight" required="false" default="-1" type="INTEGER" javaType="primitive"/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_R_OPTION_OPTION" idMethod="none" javaName="ROptionOption" description="Set up relations between options.">
+ <column name="OPTION1_ID" primaryKey="true" required="true" type="INTEGER" description="Parent Option."/>
+ <column name="OPTION2_ID" primaryKey="true" required="true" type="INTEGER" description="Child Option."/>
+ <column name="RELATIONSHIP_ID" required="true" type="INTEGER" description="The type of relationship. See the SCARAB_OPTION_RELATIONSHIP table for the different types"/>
+ <column name="WEIGHT" required="false" type="INTEGER" javaType="primitive" description="This gives "weight" to an option. In other words, it can be used to set the importance of one option vs. another option. P1 can be made more important than P2. This is currently not used in the code. This may become more useful in the future when we have external workflow logic. This is placed here because an Attribute Option may have different weights with different parents."/>
+ <column name="PREFERRED_ORDER" required="true" type="INTEGER" javaType="primitive" description="The preferred order that these options should be shown in. Each option should have a 1-N ordering for all of its options (regardless of nesting)."/>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="OPTION1_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="OPTION2_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_OPTION_RELATIONSHIP">
+ <reference local="RELATIONSHIP_ID" foreign="RELATIONSHIP_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_R_MODULE_USER_ATTRIBUTE" idMethod="idbroker" javaName="RModuleUserAttribute" description="User's choice of attributes to appear on the Issue List screen.">
+ <column name="RMUA_ID" primaryKey="true" required="true" type="BIGINT" description="Unique ID."/>
+ <column name="LIST_ID" required="false" type="BIGINT" description="MITList ."/>
+ <column name="MODULE_ID" required="false" type="INTEGER" description="Module."/>
+ <column name="USER_ID" required="true" type="INTEGER" description="Person."/>
+ <column name="ISSUE_TYPE_ID" required="false" type="INTEGER" description="Artifact type."/>
+ <column name="ATTRIBUTE_ID" required="true" type="INTEGER" description="Attribute."/>
+ <column name="INTERNAL_ATTRIBUTE" required="false" type="VARCHAR" size="20" description="Name of an internal attribute. Possible values are currently: CREATION_DATE, CREATION_USER, MODIFICATION_DATE or MODIFICATION_USER"/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="true" default="0" type="INTEGER" javaType="primitive" description="Column order."/>
+ <foreign-key foreignTable="SCARAB_MIT_LIST">
+ <reference local="LIST_ID" foreign="LIST_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <unique>
+ <unique-column name="LIST_ID"/>
+ <unique-column name="MODULE_ID"/>
+ <unique-column name="USER_ID"/>
+ <unique-column name="ISSUE_TYPE_ID"/>
+ <unique-column name="ATTRIBUTE_ID"/>
+ <unique-column name="INTERNAL_ATTRIBUTE"/>
+ </unique>
+ </table>
+ <table name="SCARAB_TRANSACTION" idMethod="idbroker" javaName="ActivitySet" description="Transaction is a group of attribute modification that are performed together.">
+ <column name="TRANSACTION_ID" primaryKey="true" required="true" type="BIGINT" javaName="ActivitySetId" description="Unique ID."/>
+ <column name="TYPE_ID" required="false" type="INTEGER" description="Possible enumerated activitySet type."/>
+ <column name="ATTACHMENT_ID" required="false" type="BIGINT" description="Comment added to modification."/>
+ <column name="CREATED_BY" required="false" type="INTEGER" description="Person that performed the activitySet."/>
+ <column name="CREATED_DATE" required="false" type="TIMESTAMP" description="Date of the activitySet."/>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="CREATED_BY" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_TRANSACTION_TYPE">
+ <reference local="TYPE_ID" foreign="TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTACHMENT">
+ <reference local="ATTACHMENT_ID" foreign="ATTACHMENT_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_TRANSACTION_TYPE" idMethod="idbroker" javaName="ActivitySetType" description="Possible types of transactions. Example: Issue Created. Example: Issue Moved">
+ <column name="TYPE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier."/>
+ <column name="NAME" javaName="Name" required="true" type="VARCHAR" size="100" description="Name."/>
+ </table>
+ <table name="TURBINE_USER" javaName="ScarabUserImpl" alias="TurbineUser" baseClass="org.apache.fulcrum.security.impl.db.entity.TurbineUser" basePeer="org.apache.fulcrum.security.impl.db.entity.TurbineUserPeer" interface="ScarabUser" description="Dummy table for where the USER_ID lives. In most cases, this will be a foreign table outside of the scope of Scarab itself. For example, if you are using Scarab with Turbine, then this will be defined as TURBINE_USER. For use in other systems, you will want to define this to be the name of your own USER table and update the FK references in this file to point at the new name. Then, all you need to do is regenerate the OR code to use the new table name.">
+ <column name="USER_ID" primaryKey="true" required="true" type="INTEGER" description="Unique ID."/>
+ </table>
+ <table name="TURBINE_ROLE" javaName="ScarabRoleImpl" alias="TurbineRole" baseClass="org.apache.fulcrum.security.impl.db.entity.TurbineRole" basePeer="org.apache.fulcrum.security.impl.db.entity.TurbineRolePeer" description="Dummy table for where the USER_ID lives. In most cases, this will be a foreign table outside of the scope of Scarab itself. For example, if you are using Scarab with Turbine, then this will be defined as TURBINE_USER. For use in other systems, you will want to define this to be the name of your own USER table and update the FK references in this file to point at the new name. Then, all you need to do is regenerate the OR code to use the new table name.">
+ <column name="ROLE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique ID."/>
+ </table>
+ <table name="SCARAB_USER_PREFERENCE" idMethod="none" javaName="UserPreference" description="This table is used to store user preferences and other information relating to a specific user.">
+ <column name="USER_ID" primaryKey="true" required="true" type="INTEGER" description="Unique ID."/>
+ <column name="PASSWORD_EXPIRE" type="TIMESTAMP" description="This is a column that Scarab standalone needs. Torque doesn't do anything with it at this point because this is an aliased table. Leaving it in here just as an FYI and in the hope that one day, Torque will generate the right methods even for aliased tables."/>
+ <column name="ENTER_ISSUE_REDIRECT" type="INTEGER" javaType="primitive"/>
+ <column name="HOME_PAGE" type="VARCHAR" size="32"/>
+ <column name="LOCALE" type="VARCHAR" size="255" description="Currently stores information in a format which conforms to the definition of the HTTP Accept-Language header. Real world examples: de-at,de;q=0.8,en-us;q=0.5,en;q=0.3 | en-us,en;q=0.5 | en-gb,en-us;q=0.5 | zh-cn | de-de,de-ch;q=0.8,en-us;q=0.5,en;q=0.3 [ en-us, en;q=0.50. If this value cannot be parsed or is null, the current Module's default locale will be used. If the Module does not have a default locale, the LocalizationService's default language will be used."/>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_USER_VOTE" idMethod="none" javaName="UserVote" description="A user's record of votes. It is assumed that a module that supports voting will give a new user some votes to use when the user is added, otherwise the user has no votes.">
+ <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" description="Module."/>
+ <column name="USER_ID" primaryKey="true" required="true" type="INTEGER" description="Person."/>
+ <column name="TOTAL_VOTES" required="false" type="INTEGER" default="0" javaType="primitive" description="The total votes a user is allowed to cast in a project."/>
+ <column name="USED_VOTES" required="false" type="INTEGER" default="0" javaType="primitive" description="The number of votes a user has cast in a project."/>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_ISSUE_VOTE" idMethod="none" javaName="IssueVote" description="The number of votes a user has cast for an issue.">
+ <column name="ISSUE_ID" primaryKey="true" required="true" type="BIGINT" description="Module."/>
+ <column name="USER_ID" primaryKey="true" required="true" type="INTEGER" description="Person."/>
+ <column name="VOTES" required="false" type="INTEGER" default="0" javaType="primitive" description="The votes a user has cast for the issue."/>
+ <foreign-key foreignTable="SCARAB_ISSUE">
+ <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_QUERY" idMethod="idbroker" javaName="Query" description="A saved user query.">
+ <column name="QUERY_ID" primaryKey="true" required="true" type="BIGINT"/>
+ <column name="USER_ID" required="true" type="INTEGER" description="Person who created the query."/>
+ <column name="NAME" required="true" type="VARCHAR" size="255" description="The name the query will be saved under."/>
+ <column name="DESCRIPTION" required="false" type="VARCHAR" size="255" description="The description of the saved query."/>
+ <column name="VALUE" required="true" type="LONGVARCHAR" description="The query string."/>
+ <column name="SCOPE_ID" javaName="ScopeId" required="true" type="INTEGER" description="Type."/>
+ <column name="ISSUE_TYPE_ID" required="false" type="INTEGER" description="Issue type."/>
+ <column name="MODULE_ID" required="false" type="INTEGER" description="Module."/>
+ <column name="LIST_ID" required="false" type="BIGINT" description="List id. Either issuetype/module id or list_id is used."/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="APPROVED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="CREATED_DATE" required="false" type="TIMESTAMP"/>
+ <column name="SUBSCRIPTION_FREQUENCY_ID" required="false" type="INTEGER" description="Default subscription frequency."/>
+ <column name="HOME_PAGE" javaName="HomePage" required="false" default="0" type="BOOLEANINT" javaType="primitive" description="Whether or not this query should show up on the homepage."/>
+ <column name="PREFERRED_ORDER" javaName="Order" required="false" default="0" type="INTEGER" javaType="primitive" description="The order in which the user wants to see the queries in the home page."/>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_SCOPE">
+ <reference local="SCOPE_ID" foreign="SCOPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MIT_LIST">
+ <reference local="LIST_ID" foreign="LIST_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_FREQUENCY">
+ <reference local="SUBSCRIPTION_FREQUENCY_ID" foreign="FREQUENCY_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_R_QUERY_USER" idMethod="none" javaName="RQueryUser" description="Users subscribed to a query.">
+ <column name="QUERY_ID" primaryKey="true" required="true" type="BIGINT" description="Query."/>
+ <column name="USER_ID" primaryKey="true" required="true" type="INTEGER" description="Person subscribed to a query (might not be the person who created it)."/>
+ <column name="IS_SUBSCRIBED" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Is user subscribed."/>
+ <column name="SUBSCRIPTION_FREQUENCY_ID" javaName="SubscriptionFrequency" required="false" type="INTEGER" description="User's subscription frequency."/>
+ <column name="ISDEFAULT" required="false" type="BOOLEANINT" default="0" javaType="primitive" description="Whether this is the user's default query."/>
+ <foreign-key foreignTable="SCARAB_QUERY">
+ <reference local="QUERY_ID" foreign="QUERY_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_FREQUENCY">
+ <reference local="SUBSCRIPTION_FREQUENCY_ID" foreign="FREQUENCY_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_FREQUENCY" idMethod="none" javaName="Frequency" description="Frequencies of an event. Examples: every half hour, weekly">
+ <column name="FREQUENCY_ID" primaryKey="true" required="true" type="INTEGER" description="Unique ID."/>
+ <column name="FREQUENCY_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name."/>
+ </table>
+ <table name="SCARAB_ISSUE_TEMPLATE_INFO" idMethod="none" javaName="IssueTemplateInfo" description="A saved user template for entering issues.">
+ <column name="ISSUE_ID" primaryKey="true" required="true" type="BIGINT"/>
+ <column name="NAME" required="true" type="VARCHAR" size="255" description="Person."/>
+ <column name="DESCRIPTION" required="false" type="VARCHAR" size="255" description="The description of the saved template."/>
+ <column name="APPROVED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="SCOPE_ID" javaName="ScopeId" required="true" type="INTEGER" description="Scope : personal or global."/>
+ <foreign-key foreignTable="SCARAB_ISSUE">
+ <reference local="ISSUE_ID" foreign="ISSUE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_SCOPE">
+ <reference local="SCOPE_ID" foreign="SCOPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_SCOPE" idMethod="none" javaName="Scope" description="Scope: personal, global.">
+ <column name="SCOPE_ID" primaryKey="true" required="true" type="INTEGER" description="Scope: personal, global."/>
+ <column name="SCOPE_NAME" javaName="Name" required="true" type="VARCHAR" size="255" description="Name."/>
+ </table>
+ <table name="SCARAB_REPORT" idMethod="idbroker" javaName="Report" description="A saved report.">
+ <column name="REPORT_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="USER_ID" required="true" type="INTEGER" description="Person."/>
+ <column name="MODULE_ID" required="false" type="INTEGER" description="Module."/>
+ <column name="ISSUE_TYPE_ID" required="true" type="INTEGER" description="Issue type."/>
+ <column name="NAME" required="true" type="VARCHAR" size="255" description="The name the report will be saved under."/>
+ <column name="DESCRIPTION" required="false" type="VARCHAR" size="255" description="The description of the saved report."/>
+ <column name="QUERY_STRING" required="true" type="LONGVARCHAR" description="The report string."/>
+ <column name="SCOPE_ID" javaName="ScopeId" required="true" type="INTEGER" description="Type."/>
+ <column name="DELETED" required="false" type="BOOLEANINT" default="0" javaType="primitive"/>
+ <column name="CREATED_DATE" required="false" type="TIMESTAMP"/>
+ <foreign-key foreignTable="SCARAB_ISSUE_TYPE">
+ <reference local="ISSUE_TYPE_ID" foreign="ISSUE_TYPE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_SCOPE">
+ <reference local="SCOPE_ID" foreign="SCOPE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_PENDING_GROUP_USER_ROLE" javaName="PendingGroupUserRole">
+ <column name="USER_ID" required="true" primaryKey="true" type="INTEGER"/>
+ <column name="GROUP_ID" required="true" primaryKey="true" type="INTEGER"/>
+ <column name="ROLE_NAME" required="true" primaryKey="true" type="VARCHAR" size="255"/>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="GROUP_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_GLOBAL_PARAMETER" idMethod="idbroker" javaName="GlobalParameter">
+ <column name="PARAMETER_ID" required="true" primaryKey="true" type="INTEGER"/>
+ <column name="NAME" required="true" type="VARCHAR" size="255"/>
+ <column name="VALUE" required="true" type="VARCHAR" size="255"/>
+ <column name="MODULE_ID" required="false" type="INTEGER" description="Module id can be null, if the parameter is not module related. Module id can be 0, if it is to be a default if a given module does not have a more specific value"/>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_TRANSITION" idMethod="idbroker" javaName="Transition" description="Transition table for the Workflow engine">
+ <column name="TRANSITION_ID" primaryKey="true" required="true" type="INTEGER" description="Unique ID."/>
+ <column name="ROLE_ID" javaName="RoleId" required="false" type="INTEGER" description="Role ID."/>
+ <column name="ATTRIBUTE_ID" javaName="AttributeId" required="true" type="INTEGER" description="Attribute ID."/>
+ <column name="FROM_OPTION_ID" javaName="FromOptionId" required="false" type="INTEGER" description="From attribute option id."/>
+ <column name="TO_OPTION_ID" javaName="ToOptionId" required="false" type="INTEGER" description="to attribute option id"/>
+ <column name="DISABLED_IF_BLOCKED" required="false" type="BOOLEANINT" default="0" javaType="primitive">
+ <!-- description="If this flag is true, the transition will not be availaible when the issue is blocked"-->
+ </column>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE">
+ <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="FROM_OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_ATTRIBUTE_OPTION">
+ <reference local="TO_OPTION_ID" foreign="OPTION_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_NOTIFICATION_STATUS" idMethod="none" javaName="NotificationStatus" description="Notification Status table. Needed by NotificationManager.">
+ <column name="ACTIVITY_ID" primaryKey="true" required="true" type="BIGINT" description="Unique identifier. The ACTIVITY_ID is also a foreign key to SCARAB_ACTIVITY."/>
+ <column name="CREATOR_ID" primaryKey="true" javaName="CreatorId" required="true" type="INTEGER"/>
+ <column name="RECEIVER_ID" primaryKey="true" javaName="ReceiverId" required="true" type="INTEGER" description="User to be notified"/>
+ <column name="STATUS" javaName="Status" required="true" type="INTEGER" description="Notification status. 1=WAIT 2=SCHEDULED 3=DEFERRED 4=FAIL 5=SENT.">
+ </column>
+ <column name="CREATION_DATE" required="false" type="DATE" description="Creation date of this record."/>
+ <column name="CHANGE_DATE" required="false" type="DATE" description="Date of last status change."/>
+ <column name="STATUS_COMMENT" javaName="Comment" required="false" type="VARCHAR" size="255" description="Optional comment (mainly used for error messages)"/>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="CREATOR_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <!-- FIXME: [SCB1793] temporary commented out the next fk,
+ because (in b21) a nonexistent user_id is used to
save a notification for the archive emails
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="RECEIVER_ID" foreign="USER_ID"/>
- </foreign-key>
- -->
-
- <foreign-key foreignTable="SCARAB_ACTIVITY">
- <reference local="ACTIVITY_ID" foreign="ACTIVITY_ID"/>
- </foreign-key>
- <index name="IX_NOTIF_STATUS">
- <index-column name="STATUS"/>
- </index>
-
- </table>
-
- <!-- =============================================================== -->
- <!-- Notification Status table. Needed by NotificationManager. -->
- <!-- COLUMNS: -->
- <!-- MODULE_ID foreign key into SCARAB_MODULE -->
- <!-- USER_ID owner of this filter foreign key into SCARAB_USER -->
- <!-- ACTIVITY_TYPE which activity shall be filtered -->
- <!-- FILTER_TYPE denotes what to do (discard,online,email) -->
- <!-- =============================================================== -->
- <table name="SCARAB_NOTIFICATION_FILTER"
- idMethod="none"
- javaName="NotificationFilter" >
-
- <!-- =============================================================== -->
- <!-- MODULE_ID -->
- <!-- -->
- <!-- Unique identifier. The MODULE_ID is also a foreign key to -->
- <!-- SCARAB_MODULE -->
- <!-- =============================================================== -->
- <column name = "MODULE_ID"
- primaryKey = "true"
- required = "true"
- type = "INTEGER">
- </column>
-
- <!-- =============================================================== -->
- <!-- USER_ID -->
- <!-- -->
- <!-- User id -->
- <!-- =============================================================== -->
- <column name = "USER_ID"
- primaryKey = "true"
- javaName = "UserId"
- required = "true"
- type = "INTEGER">
- </column>
-
- <!-- =============================================================== -->
- <!-- ACTIVITY_TYPE -->
- <!-- -->
- <!-- Activity type -->
- <!-- =============================================================== -->
- <column name = "ACTIVITY_TYPE"
- primaryKey = "true"
- required = "true"
- type = "VARCHAR"
- size = "30">
- </column>
-
- <!-- =============================================================== -->
- <!-- MANAGER_ID -->
- <!-- -->
- <!-- We currently have only one manager (the Notificationmanager) -->
- <!-- This may change in the future. Currently following values are -->
- <!-- allowed: -->
- <!-- -->
- <!-- 1 = handle notifications via the Scarab NotificationManager -->
- <!-- -->
- <!-- For convenience: If no filter is defined for a specific -->
- <!-- filter type, notifications are handled by NotficationManager. -->
- <!-- =============================================================== -->
- <column name = "MANAGER_ID"
- primaryKey = "true"
- required = "true"
- type = "INTEGER"
- default = "0"
- >
- </column>
-
- <!-- =============================================================== -->
- <!-- FILTER_STATE -->
- <!-- -->
- <!-- The filter state is either "0" -> do not handle activites -->
- <!-- or it is "1" -> handle activities -->
- <!-- -->
- <!-- NOTE: If no filter is defined for a specific ActivityType, -->
- <!-- Scarab by default handles all notifications via the -->
- <!-- Scarab Notification manager. If you want to discard -->
- <!-- notifications of a specific activity type, you must create an -->
- <!-- NotificationFilter and set the FILTER_STATE to "0" -->
- <!-- =============================================================== -->
- <column name = "FILTER_STATE"
- required = "true"
- type = "BOOLEANINT"
- default = "0"
- javaType = "primitive">
- </column>
-
-
- <!-- =============================================================== -->
- <!-- SEND_SELF -->
- <!-- -->
- <!-- Notifications, which have been triggered by User X will not -->
- <!-- been sent to self (User X) by default. But if the SELF_SEND flag-->
- <!-- is set to "true" (1), user X gets self notified by the -->
- <!-- Notification Manager. -->
- <!-- =============================================================== -->
- <column name = "SEND_SELF"
- required = "true"
- type = "BOOLEANINT"
- default = "0"
- javaType = "primitive">
- </column>
-
- <!-- =============================================================== -->
- <!-- SEND_FAILURES -->
- <!-- -->
- <!-- For Notifications, which could NOT be sent to a receiver, the -->
- <!-- Notification Manager generates an online notification by -->
- <!-- default. But if the SEND_FAILURES flag is set to "false" (0) -->
- <!-- failures will be omitted silently. -->
- <!-- =============================================================== -->
- <column name = "SEND_FAILURES"
- required = "true"
- type = "BOOLEANINT"
- default = "0"
- javaType = "primitive">
- </column>
-
-
- <foreign-key foreignTable="TURBINE_USER">
- <reference local="USER_ID" foreign="USER_ID"/>
- </foreign-key>
-
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
-
- </table>
-
- <!-- =============================================================== -->
- <!-- Notification Status table for module default values. -->
- <!-- Needed by NotificationManager. -->
- <!-- COLUMNS: -->
- <!-- MODULE_ID foreign key into SCARAB_MODULE -->
- <!-- ROLE_ID owner of this filter foreign key into TURBINE_ROLE-->
- <!-- ACTIVITY_TYPE which activity shall be filtered -->
- <!-- FILTER_TYPE denotes what to do (discard,online,email) -->
- <!-- =============================================================== -->
- <table name="SCARAB_DEFAULT_NOTIFICATION_FILTER"
- idMethod="none"
- javaName="NotificationDefaultFilter" >
-
- <!-- =============================================================== -->
- <!-- MODULE_ID -->
- <!-- -->
- <!-- Unique identifier. The MODULE_ID is also a foreign key to -->
- <!-- SCARAB_MODULE -->
- <!-- =============================================================== -->
- <column name = "MODULE_ID"
- primaryKey = "true"
- required = "true"
- type = "INTEGER">
- </column>
-
- <!-- =============================================================== -->
- <!-- ROLE_ID -->
- <!-- -->
- <!-- User id -->
- <!-- =============================================================== -->
- <column name = "ROLE_ID"
- primaryKey = "true"
- required = "true"
- type = "INTEGER">
- </column>
-
- <!-- =============================================================== -->
- <!-- ACTIVITY_TYPE -->
- <!-- -->
- <!-- Activity type -->
- <!-- =============================================================== -->
- <column name = "ACTIVITY_TYPE"
- primaryKey = "true"
- required = "true"
- type = "VARCHAR"
- size = "30">
- </column>
-
- <!-- =============================================================== -->
- <!-- MANAGER_ID -->
- <!-- -->
- <!-- We currently have only one manager (the Notificationmanager) -->
- <!-- This may change in the future. Currently following values are -->
- <!-- allowed: -->
- <!-- -->
- <!-- 1 = handle notifications via the Scarab NotificationManager -->
- <!-- -->
- <!-- For convenience: If no filter is defined for a specific -->
- <!-- filter type, notifications are handled by NotficationManager. -->
- <!-- =============================================================== -->
- <column name = "MANAGER_ID"
- primaryKey = "true"
- required = "true"
- type = "INTEGER"
- default = "0"
- >
- </column>
-
- <!-- =============================================================== -->
- <!-- FILTER_STATE -->
- <!-- -->
- <!-- The filter state is either "0" -> do not handle activites -->
- <!-- or it is "1" -> handle activities -->
- <!-- -->
- <!-- NOTE: If no filter is defined for a specific ActivityType, -->
- <!-- Scarab by default handles all notifications via the -->
- <!-- Scarab Notification manager. If you want to discard -->
- <!-- notifications of a specific activity type, you must create an -->
- <!-- NotificationFilter and set the FILTER_STATE to "0" -->
- <!-- =============================================================== -->
- <column name = "FILTER_STATE"
- required = "true"
- type = "BOOLEANINT"
- default = "0"
- javaType = "primitive">
- </column>
-
-
- <!-- =============================================================== -->
- <!-- MODIFYABLE -->
- <!-- -->
- <!-- If set to "1", the settings may be overwritten by users with -->
- <!-- the given role. -->
- <!-- If set to "0", the settings are fixed for users with -->
- <!-- the given role. -->
- <!-- =============================================================== -->
- <column name = "MODIFYABlE"
- required = "true"
- type = "BOOLEANINT"
- default = "1"
- javaType = "primitive">
- </column>
-
- <foreign-key foreignTable="TURBINE_ROLE">
- <reference local="ROLE_ID" foreign="ROLE_ID"/>
- </foreign-key>
-
- <foreign-key foreignTable="SCARAB_MODULE">
- <reference local="MODULE_ID" foreign="MODULE_ID"/>
- </foreign-key>
-
- </table>
-
-
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="RECEIVER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ -->
+ <foreign-key foreignTable="SCARAB_ACTIVITY">
+ <reference local="ACTIVITY_ID" foreign="ACTIVITY_ID"/>
+ </foreign-key>
+ <index name="IX_NOTIF_STATUS">
+ <index-column name="STATUS"/>
+ </index>
+ </table>
+ <table name="SCARAB_NOTIFICATION_FILTER" idMethod="none" javaName="NotificationFilter" description="Notification Status table. Used by NotificationManager.">
+ <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier. The MODULE_ID is also a foreign key to SCARAB_MODULE."/>
+ <column name="USER_ID" primaryKey="true" javaName="UserId" required="true" type="INTEGER"/>
+ <column name="ACTIVITY_TYPE" primaryKey="true" required="true" type="VARCHAR" size="30"/>
+ <column name="MANAGER_ID" primaryKey="true" required="true" type="INTEGER" default="0" description="We currently have only one manager (the Notificationmanager). This may change in the future. Currently following values are allowed: 1 = handle notifications via the Scarab NotificationManager. For convenience: If no filter is defined for a specific filter type, notifications are handled by NotificationManager."/>
+ <column name="FILTER_STATE" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="The filter state is either 0 = do not handle activites or 1 = handle activities. NOTE: If no filter is defined for a specific ActivityType, Scarab by default handles all notifications via the Scarab Notification manager. If you want to discard notifications of a specific activity type, you must create a NotificationFilter and set the FILTER_STATE to 0."/>
+ <column name="SEND_SELF" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="Notifications, which have been triggered by User X will not be sent to self (User X) by default. But if the SELF_SEND flag is set to true (1), user X gets self notified by the Notification Manager."/>
+ <column name="SEND_FAILURES" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="For Notifications, which could NOT be sent to a receiver, the Notification Manager generates an online notification by default. But if the SEND_FAILURES flag is set to false (0) failures will be omitted silently."/>
+ <foreign-key foreignTable="TURBINE_USER">
+ <reference local="USER_ID" foreign="USER_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ </table>
+ <table name="SCARAB_DEFAULT_NOTIFICATION_FILTER" idMethod="none" javaName="NotificationDefaultFilter" description="Notification Status table for module default values. Used by NotificationManager.">
+ <column name="MODULE_ID" primaryKey="true" required="true" type="INTEGER" description="Unique identifier. The MODULE_ID is also a foreign key to SCARAB_MODULE."/>
+ <column name="ROLE_ID" primaryKey="true" required="true" type="INTEGER"/>
+ <column name="ACTIVITY_TYPE" primaryKey="true" required="true" type="VARCHAR" size="30"/>
+ <column name="MANAGER_ID" primaryKey="true" required="true" type="INTEGER" default="0" description="We currently have only one manager (the Notificationmanager). This may change in the future. Currently following values are allowed:1 = handle notifications via the Scarab NotificationManager. For convenience: If no filter is defined for a specific filter type, notifications are handled by NotficationManager."/>
+ <column name="FILTER_STATE" required="true" type="BOOLEANINT" default="0" javaType="primitive" description="The filter state is either 0 = do not handle activities or 1 = handle activities.NOTE: If no filter is defined for a specific ActivityType, Scarab by default handles all notifications via the Scarab Notification manager. If you want to discard notifications of a specific activity type, you must create a NotificationFilter and set the FILTER_STATE to 0."/>
+ <column name="MODIFYABlE" required="true" type="BOOLEANINT" default="1" javaType="primitive" description="If set to 1, the settings may be overwritten by users with the given role. If set to 0, the settings are fixed for users withthe given role."/>
+ <foreign-key foreignTable="TURBINE_ROLE">
+ <reference local="ROLE_ID" foreign="ROLE_ID"/>
+ </foreign-key>
+ <foreign-key foreignTable="SCARAB_MODULE">
+ <reference local="MODULE_ID" foreign="MODULE_ID"/>
+ </foreign-key>
+ </table>
</database>
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.