package com.idega.slide.schema; /** * * * Last modified: $Date: 2004/11/05 08:44:59 $ by $Author: aron $ * * @author <a href="mailto:aron@idega.com">aron</a> * @version $Revision: 1.1 $ */ public class VersionHistorySchema extends SlideSchema { /* CREATE TABLE "VERSION_HISTORY" ( "VERSION_ID" NUMBER(10) NOT NULL, "URI_ID" NUMBER(10) NOT NULL, "BRANCH_ID" NUMBER(10) NOT NULL, "REVISION_NO" VARCHAR2(20) NOT NULL, PRIMARY KEY("VERSION_ID"), UNIQUE("URI_ID", "BRANCH_ID", "REVISION_NO"), FOREIGN KEY("URI_ID") REFERENCES "URI"("URI_ID"), FOREIGN KEY("BRANCH_ID") REFERENCES "BRANCH"("BRANCH_ID") ) CACHE NOLOGGING; */ protected VersionHistorySchema(){ super(); SlideSchemaColumn versionID = new SlideSchemaColumn(this); versionID.setDataTypeClass(Integer.class); versionID.setMaxLength(10); versionID.setSQLFieldName("VERSION_ID"); versionID.setNullAllowed(false); versionID.setPartOfPrimaryKey(true); SlideSchemaColumn uriID = new SlideSchemaColumn(this); uriID.setDataTypeClass(Integer.class); uriID.setMaxLength(10); uriID.setSQLFieldName("URI_ID"); uriID.setNullAllowed(false); uriID.setOneToManyEntity(new UriSchema()); SlideSchemaColumn branchID = new SlideSchemaColumn(this); branchID.setDataTypeClass(Integer.class); branchID.setMaxLength(10); branchID.setSQLFieldName("BRANCH_ID"); branchID.setNullAllowed(false); branchID.setOneToManyEntity(new BranchSchema()); SlideSchemaColumn revisionNo = new SlideSchemaColumn(this); revisionNo.setDataTypeClass(String.class); revisionNo.setMaxLength(20); revisionNo.setSQLFieldName("REVISION_NO"); revisionNo.setNullAllowed(false); SlideUniqueKey uniqueKey = new SlideUniqueKey(); uniqueKey.addField(uriID); uniqueKey.addField(branchID); uniqueKey.addField(revisionNo); addColumn(versionID,true); addColumn(uriID); addColumn(branchID); addColumn(revisionNo); addUniqueKey(uniqueKey); setHasAutoIncrementColumn(true); } /* (non-Javadoc) * @see com.idega.slide.entity.SlideEntity#getSQLTableName() */ public String getSQLName() { return "VERSION_HISTORY"; } }