You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by Martin Poeschl <mp...@marmot.at> on 2001/07/10 02:09:24 UTC

[proposal]turbine-schema.xml

changes:
* removed all blobs
* renamed TURBINE_GROUP to TURBINE_PROJECT
* added tables to handle attributes (to replace user.perm-storage,
job.properties)

I propose to generate the om/peer classes to org.apache.turbine.om

martin

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE database SYSTEM "http://jakarta.apache.org/turbine/dtd/database.dtd">

<!-- ======================================================================= -->

<!--                                                                         -->

<!-- B A S E  T U R B I N E  S C H E M A                                     -->

<!--                                                                         -->

<!-- ======================================================================= -->

<!-- This is the the XML schema used by Torque to generate the necessary     -->

<!-- sources used to create/initialize the base Turbine system. Torque       -->

<!-- will create the SQL for the database required by Turbine, and the       -->

<!-- Peer-based Object Model used by Turbine internally to manage            -->

<!-- users, security, and job scheduling.                                    -->

<!-- ======================================================================= -->

<!-- @author: <a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>          -->

<!-- @version $Id: turbine-schema.xml,v 1.20 2001/06/27 20:32:59 jon Exp $   -->

<!-- ======================================================================= -->

<database defaultIdMethod="idbroker">

  <table name="TURBINE_PERMISSION">
    <column name="PERMISSION_ID" required="true" primaryKey="true"
            type="INTEGER"/>
    <column name="PERMISSION_NAME" required="true" size="99" type="VARCHAR"
            javaName="Name"/>

    <unique>
      <unique-column name="PERMISSION_NAME"/>
    </unique>
  </table>


  <table name="TURBINE_ROLE">
    <column name="ROLE_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="ROLE_NAME" required="true" size="99" type="VARCHAR"
            javaName="Name"/>

    <unique>
        <unique-column name="ROLE_NAME"/>
    </unique>
  </table>


  <table name="TURBINE_PROJECT">
    <column name="PROJECT_ID" required="true" primaryKey="true" type="INTEGER"/>

    <column name="PROJECT_NAME" required="true" type="VARCHAR" size="99"
            javaName="Name"/>

    <unique>
        <unique-column name="PROJECT_NAME"/>
    </unique>
  </table>


  <table name="TURBINE_ROLE_PERMISSION" idMethod="none">
    <column name="ROLE_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="PERMISSION_ID" required="true" primaryKey="true"
            type="INTEGER"/>

    <foreign-key foreignTable="TURBINE_ROLE">
      <reference local="ROLE_ID" foreign="ROLE_ID"/>
    </foreign-key>

    <foreign-key foreignTable="TURBINE_PERMISSION">
      <reference local="PERMISSION_ID" foreign="PERMISSION_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_USER">
    <column name="USER_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="LOGIN_NAME" required="true" size="32" type="VARCHAR"
            javaName="UserName"/>
    <column name="PASSWORD_VALUE" required="true" size="32" type="VARCHAR"
            javaName="Password"/>
    <column name="FIRST_NAME" required="true" size="99" type="VARCHAR"/>
    <column name="LAST_NAME" required="true" size="99" type="VARCHAR"/>
    <column name="EMAIL" size="99" type="VARCHAR"/>
    <column name="CONFIRM_VALUE" size="99" type="VARCHAR" javaName="Confirmed"/>

    <column name="MODIFIED" type="TIMESTAMP"/>
    <column name="CREATED" type="TIMESTAMP" javaName="CreateDate"/>
    <column name="LAST_LOGIN" type="TIMESTAMP"/>

    <unique>
        <unique-column name="LOGIN_NAME"/>
    </unique>
  </table>


  <table name="TURBINE_USER_PROJECT_ROLE" idMethod="none">
    <column name="USER_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="PROJECT_ID" required="true" primaryKey="true" type="INTEGER"/>

    <column name="ROLE_ID" required="true" primaryKey="true" type="INTEGER"/>

    <foreign-key foreignTable="TURBINE_USER">
      <reference local="USER_ID" foreign="USER_ID"/>
    </foreign-key>

    <foreign-key foreignTable="TURBINE_PROJECT">
      <reference local="PROJECT_ID" foreign="PROJECT_ID"/>
    </foreign-key>

    <foreign-key foreignTable="TURBINE_ROLE">
      <reference local="ROLE_ID" foreign="ROLE_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_SCHEDULED_JOB">
    <column name="JOB_ID" required="true" primaryKey="true" type="INTEGER"/>
    <column name="SECOND" default="-1" required="true" type="INTEGER"/>
    <column name="MINUTE" default="-1" required="true" type="INTEGER"/>
    <column name="HOUR" default="-1" required="true" type="INTEGER"/>
    <column name="WEEK_DAY" default="-1" required="true" type="INTEGER"/>
    <column name="DAY_OF_MONTH" default="-1" required="true" type="INTEGER"/>
    <column name="TASK" required="true" size="99" type="VARCHAR"/>
    <column name="EMAIL" size="99" type="VARCHAR"/>
  </table>


  <table name="TURBINE_ATTRIBUTE">
    <column name="ATTRIBUTE_ID" primaryKey="true" required="true"
            type="INTEGER"/>
    <column name="ATTRIBUTE_NAME" javaName="Name" required="true" type="VARCHAR"

            size="255"/>
    <column name="ATTRIBUTE_TYPE_ID" javaName="TypeId" required="true"
            type="INTEGER"/>
    <column name="PERMISSION" required="false" type="VARCHAR" size="255"/>
    <column name="REQUIRED_OPTION_ID" type="INTEGER"/>
    <column name="DESCRIPTION" javaName="Description" required="true"
            type="VARCHAR" size="255"/>
    <column name="CREATED_BY" javaName="CreatedBy" required="false"
            type="INTEGER"/>
    <column name="CREATED_DATE" javaName="CreatedDate" required="false"
            type="TIMESTAMP"/>
    <column name="DELETED" required="false" type="BOOLEANINT" default="0"
            size="1"/>

    <foreign-key foreignTable="TURBINE_ATTRIBUTE_TYPE">
        <reference local="ATTRIBUTE_TYPE_ID" foreign="ATTRIBUTE_TYPE_ID"/>
    </foreign-key>
    <foreign-key foreignTable="TURBINE_ATTRIBUTE_OPTION">
        <reference local="REQUIRED_OPTION_ID" foreign="OPTION_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_ATTRIBUTE_CLASS">
    <column name="ATTRIBUTE_CLASS_ID" primaryKey="true" required="true"
            type="INTEGER"/>
    <column name="ATTRIBUTE_CLASS_NAME" javaName="Name" required="true"
            type="VARCHAR" size="255"/>
    <column name="ATTRIBUTE_CLASS_DESC" javaName="Desc" required="true"
            type="VARCHAR" size="255"/>
    <column name="JAVA_CLASS_NAME" required="false" type="VARCHAR" size="255"/>
  </table>


  <table name="TURBINE_ATTRIBUTE_OPTION">
    <column name="OPTION_ID" primaryKey="true" required="true" type="INTEGER"/>
    <column name="ATTRIBUTE_ID" required="true" type="INTEGER"/>
    <column name="OPTION_NAME" javaName="Name" required="true" type="VARCHAR"
            size="255"/>
    <column name="NUMERIC_VALUE" required="false" type="INTEGER"/>
    <column name="DELETED" required="false" type="BOOLEANINT" default="0"
            size="1"/>

    <foreign-key foreignTable="TURBINE_ATTRIBUTE">
        <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_ATTRIBUTE_TYPE">
    <column name="ATTRIBUTE_TYPE_ID" primaryKey="true" required="true"
            type="INTEGER"/>
    <column name="ATTRIBUTE_CLASS_ID" javaName="ClassId" required="true"
            type="INTEGER"/>
    <column name="ATTRIBUTE_TYPE_NAME" javaName="Name" required="true"
            type="VARCHAR" size="255"/>
    <column name="JAVA_CLASS_NAME" required="false" type="VARCHAR" size="255"/>
    <column name="VALIDATION_KEY" required="false" type="VARCHAR" size="20"/>

    <foreign-key foreignTable="TURBINE_ATTRIBUTE_CLASS">
        <reference local="ATTRIBUTE_CLASS_ID" foreign="ATTRIBUTE_CLASS_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_USER_ATTRIBUTE">
    <column name="ATTRIBUTE_ID" primaryKey="true" required="true"
            type="INTEGER" inheritance="single"/>
    <column name="OPTION_ID" required="false" type="INTEGER"/>
    <column name="DELETED" required="false" type="BOOLEANINT" default="0"
            size="1"/>

    <foreign-key foreignTable="TURBINE_ATTRIBUTE">
        <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
    </foreign-key>
    <foreign-key foreignTable="TURBINE_ATTRIBUTE_OPTION">
        <reference local="OPTION_ID" foreign="OPTION_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_USER_ATTRIBUTE_VALUE">
    <column name="USER_ID" primaryKey="true" required="true" type="INTEGER"/>
    <column name="TURBINE_USER_ATTRIBUTE_ID" primaryKey="true" required="true"
            type="INTEGER" inheritance="single"/>
    <column name="VALUE" required="false" type="VARCHAR" size="255"/>

    <foreign-key foreignTable="TURBINE_USER">
        <reference local="USER_ID" foreign="USER_ID"/>
    </foreign-key>
    <foreign-key foreignTable="TURBINE_USER_ATTRIBUTE">
        <reference local="TURBINE_USER_ATTRIBUTE_ID"
                   foreign="ATTRIBUTE_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_JOB_ATTRIBUTE">
    <column name="ATTRIBUTE_ID" primaryKey="true" required="true"
            type="INTEGER" inheritance="single"/>
    <column name="OPTION_ID" required="false" type="INTEGER"/>
    <column name="DELETED" required="false" type="BOOLEANINT" default="0"
            size="1"/>

    <foreign-key foreignTable="TURBINE_ATTRIBUTE">
        <reference local="ATTRIBUTE_ID" foreign="ATTRIBUTE_ID"/>
    </foreign-key>
    <foreign-key foreignTable="TURBINE_ATTRIBUTE_OPTION">
        <reference local="OPTION_ID" foreign="OPTION_ID"/>
    </foreign-key>
  </table>


  <table name="TURBINE_JOB_ATTRIBUTE_VALUE">
    <column name="JOB_ID" primaryKey="true" required="true" type="INTEGER"/>
    <column name="TURBINE_JOB_ATTRIBUTE_ID" primaryKey="true" required="true"
            type="INTEGER" inheritance="single"/>
    <column name="VALUE" required="false" type="VARCHAR" size="255"/>

    <foreign-key foreignTable="TURBINE_SCHEDULED_JOB">
        <reference local="JOB_ID" foreign="JOB_ID"/>
    </foreign-key>
    <foreign-key foreignTable="TURBINE_JOB_ATTRIBUTE">
        <reference local="TURBINE_JOB_ATTRIBUTE_ID"
                   foreign="ATTRIBUTE_ID"/>
    </foreign-key>
  </table>


</database>



---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org