You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by rw...@apache.org on 2005/12/06 00:25:23 UTC
svn commit: r354221 -
/portals/jetspeed-2/trunk/etc/sql/mssql/schema/phase2-schema.sql
Author: rwatler
Date: Mon Dec 5 15:25:19 2005
New Revision: 354221
URL: http://svn.apache.org/viewcvs?rev=354221&view=rev
Log:
Add custom version of schema for MSSQL: no self referential ON DELETE CASCADE support and non standard support for UNIQUE constraints on NULL columns.
Added:
portals/jetspeed-2/trunk/etc/sql/mssql/schema/phase2-schema.sql
Added: portals/jetspeed-2/trunk/etc/sql/mssql/schema/phase2-schema.sql
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/etc/sql/mssql/schema/phase2-schema.sql?rev=354221&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/etc/sql/mssql/schema/phase2-schema.sql (added)
+++ portals/jetspeed-2/trunk/etc/sql/mssql/schema/phase2-schema.sql Mon Dec 5 15:25:19 2005
@@ -0,0 +1,2012 @@
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_FK_1')
+ ALTER TABLE FOLDER DROP CONSTRAINT FOLDER_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FOLDER')
+BEGIN
+ DECLARE @reftable_1 nvarchar(60), @constraintname_1 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FOLDER'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_1, @constraintname_1
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_1+' drop constraint '+@constraintname_1)
+ FETCH NEXT from refcursor into @reftable_1, @constraintname_1
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FOLDER
+END
+;
+
+CREATE TABLE FOLDER
+(
+ FOLDER_ID INT NOT NULL,
+ PARENT_ID INT NULL,
+ PATH VARCHAR (240) NOT NULL,
+ NAME VARCHAR (80) NOT NULL,
+ TITLE VARCHAR (100) NULL,
+ SHORT_TITLE VARCHAR (40) NULL,
+ IS_HIDDEN INT NOT NULL,
+ DEFAULT_PAGE_NAME VARCHAR (80) NULL,
+ SUBSITE VARCHAR (40) NULL,
+ USER_PRINCIPAL VARCHAR (40) NULL,
+ ROLE_PRINCIPAL VARCHAR (40) NULL,
+ GROUP_PRINCIPAL VARCHAR (40) NULL,
+ MEDIATYPE VARCHAR (15) NULL,
+ LOCALE VARCHAR (20) NULL,
+ EXT_ATTR_NAME VARCHAR (15) NULL,
+ EXT_ATTR_VALUE VARCHAR (40) NULL,
+ OWNER_PRINCIPAL VARCHAR (40) NULL,
+
+ CONSTRAINT FOLDER_PK PRIMARY KEY(FOLDER_ID),
+ UNIQUE (PATH));
+
+CREATE INDEX IX_FOLDER_1 ON FOLDER (PARENT_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_METADATA */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_METADATA_FK_1')
+ ALTER TABLE FOLDER_METADATA DROP CONSTRAINT FOLDER_METADATA_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FOLDER_METADATA')
+BEGIN
+ DECLARE @reftable_2 nvarchar(60), @constraintname_2 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FOLDER_METADATA'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_2, @constraintname_2
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_2+' drop constraint '+@constraintname_2)
+ FETCH NEXT from refcursor into @reftable_2, @constraintname_2
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FOLDER_METADATA
+END
+;
+
+CREATE TABLE FOLDER_METADATA
+(
+ METADATA_ID INT NOT NULL,
+ FOLDER_ID INT NOT NULL,
+ NAME VARCHAR (15) NOT NULL,
+ LOCALE VARCHAR (20) NOT NULL,
+ VALUE VARCHAR (100) NOT NULL,
+
+ CONSTRAINT FOLDER_METADATA_PK PRIMARY KEY(METADATA_ID),
+ UNIQUE (FOLDER_ID, NAME, LOCALE, VALUE));
+
+CREATE INDEX IX_FOLDER_METADATA_1 ON FOLDER_METADATA (FOLDER_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_CONSTRAINT_FK_1')
+ ALTER TABLE FOLDER_CONSTRAINT DROP CONSTRAINT FOLDER_CONSTRAINT_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FOLDER_CONSTRAINT')
+BEGIN
+ DECLARE @reftable_3 nvarchar(60), @constraintname_3 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FOLDER_CONSTRAINT'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_3, @constraintname_3
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_3+' drop constraint '+@constraintname_3)
+ FETCH NEXT from refcursor into @reftable_3, @constraintname_3
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FOLDER_CONSTRAINT
+END
+;
+
+CREATE TABLE FOLDER_CONSTRAINT
+(
+ CONSTRAINT_ID INT NOT NULL,
+ FOLDER_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ USER_PRINCIPALS_ACL VARCHAR (120) NULL,
+ ROLE_PRINCIPALS_ACL VARCHAR (120) NULL,
+ GROUP_PRINCIPALS_ACL VARCHAR (120) NULL,
+ PERMISSIONS_ACL VARCHAR (120) NULL,
+
+ CONSTRAINT FOLDER_CONSTRAINT_PK PRIMARY KEY(CONSTRAINT_ID));
+
+CREATE INDEX IX_FOLDER_CONSTRAINT_1 ON FOLDER_CONSTRAINT (FOLDER_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_CONSTRAINTS_REF_FK_1')
+ ALTER TABLE FOLDER_CONSTRAINTS_REF DROP CONSTRAINT FOLDER_CONSTRAINTS_REF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FOLDER_CONSTRAINTS_REF')
+BEGIN
+ DECLARE @reftable_4 nvarchar(60), @constraintname_4 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FOLDER_CONSTRAINTS_REF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_4, @constraintname_4
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_4+' drop constraint '+@constraintname_4)
+ FETCH NEXT from refcursor into @reftable_4, @constraintname_4
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FOLDER_CONSTRAINTS_REF
+END
+;
+
+CREATE TABLE FOLDER_CONSTRAINTS_REF
+(
+ CONSTRAINTS_REF_ID INT NOT NULL,
+ FOLDER_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ NAME VARCHAR (40) NOT NULL,
+
+ CONSTRAINT FOLDER_CONSTRAINTS_REF_PK PRIMARY KEY(CONSTRAINTS_REF_ID),
+ UNIQUE (FOLDER_ID, NAME));
+
+CREATE INDEX IX_FOLDER_CONSTRAINTS_REF_1 ON FOLDER_CONSTRAINTS_REF (FOLDER_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_ORDER */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_ORDER_FK_1')
+ ALTER TABLE FOLDER_ORDER DROP CONSTRAINT FOLDER_ORDER_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FOLDER_ORDER')
+BEGIN
+ DECLARE @reftable_5 nvarchar(60), @constraintname_5 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FOLDER_ORDER'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_5, @constraintname_5
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_5+' drop constraint '+@constraintname_5)
+ FETCH NEXT from refcursor into @reftable_5, @constraintname_5
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FOLDER_ORDER
+END
+;
+
+CREATE TABLE FOLDER_ORDER
+(
+ ORDER_ID INT NOT NULL,
+ FOLDER_ID INT NOT NULL,
+ SORT_ORDER INT NOT NULL,
+ NAME VARCHAR (80) NOT NULL,
+
+ CONSTRAINT FOLDER_ORDER_PK PRIMARY KEY(ORDER_ID),
+ UNIQUE (FOLDER_ID, NAME));
+
+CREATE INDEX IX_FOLDER_ORDER_1 ON FOLDER_ORDER (FOLDER_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_MENU */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_MENU_FK_1')
+ ALTER TABLE FOLDER_MENU DROP CONSTRAINT FOLDER_MENU_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_MENU_FK_2')
+ ALTER TABLE FOLDER_MENU DROP CONSTRAINT FOLDER_MENU_FK_2;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FOLDER_MENU')
+BEGIN
+ DECLARE @reftable_6 nvarchar(60), @constraintname_6 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FOLDER_MENU'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_6, @constraintname_6
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_6+' drop constraint '+@constraintname_6)
+ FETCH NEXT from refcursor into @reftable_6, @constraintname_6
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FOLDER_MENU
+END
+;
+
+CREATE TABLE FOLDER_MENU
+(
+ MENU_ID INT NOT NULL,
+ CLASS_NAME VARCHAR (100) NOT NULL,
+ PARENT_ID INT NULL,
+ FOLDER_ID INT NULL,
+ ELEMENT_ORDER INT NULL,
+ NAME VARCHAR (100) NULL,
+ TITLE VARCHAR (100) NULL,
+ SHORT_TITLE VARCHAR (40) NULL,
+ TEXT VARCHAR (100) NULL,
+ OPTIONS VARCHAR (255) NULL,
+ DEPTH INT NULL,
+ IS_PATHS INT NULL,
+ IS_REGEXP INT NULL,
+ PROFILE VARCHAR (80) NULL,
+ OPTIONS_ORDER VARCHAR (255) NULL,
+ SKIN VARCHAR (80) NULL,
+ IS_NEST INT NULL,
+
+ CONSTRAINT FOLDER_MENU_PK PRIMARY KEY(MENU_ID)
+/* MSSQL interprets NULL columns in a UNIQUE key as non-unique */
+/* replace UNIQUE (FOLDER_ID, NAME) with IX_FOLDER_MENU_UNIQUE_FN index below */
+);
+
+CREATE INDEX IX_FOLDER_MENU_1 ON FOLDER_MENU (PARENT_ID);
+CREATE INDEX IX_FOLDER_MENU_UNIQUE_FN ON FOLDER_MENU (FOLDER_ID, NAME);
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_MENU_METADATA */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FOLDER_MENU_METADATA_FK_1')
+ ALTER TABLE FOLDER_MENU_METADATA DROP CONSTRAINT FOLDER_MENU_METADATA_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FOLDER_MENU_METADATA')
+BEGIN
+ DECLARE @reftable_7 nvarchar(60), @constraintname_7 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FOLDER_MENU_METADATA'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_7, @constraintname_7
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_7+' drop constraint '+@constraintname_7)
+ FETCH NEXT from refcursor into @reftable_7, @constraintname_7
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FOLDER_MENU_METADATA
+END
+;
+
+CREATE TABLE FOLDER_MENU_METADATA
+(
+ METADATA_ID INT NOT NULL,
+ MENU_ID INT NOT NULL,
+ NAME VARCHAR (15) NOT NULL,
+ LOCALE VARCHAR (20) NOT NULL,
+ VALUE VARCHAR (100) NOT NULL,
+
+ CONSTRAINT FOLDER_MENU_METADATA_PK PRIMARY KEY(METADATA_ID),
+ UNIQUE (MENU_ID, NAME, LOCALE, VALUE));
+
+CREATE INDEX IX_FOLDER_MENU_METADATA_1 ON FOLDER_MENU_METADATA (MENU_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_FK_1')
+ ALTER TABLE PAGE DROP CONSTRAINT PAGE_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE')
+BEGIN
+ DECLARE @reftable_8 nvarchar(60), @constraintname_8 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_8, @constraintname_8
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_8+' drop constraint '+@constraintname_8)
+ FETCH NEXT from refcursor into @reftable_8, @constraintname_8
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE
+END
+;
+
+CREATE TABLE PAGE
+(
+ PAGE_ID INT NOT NULL,
+ PARENT_ID INT NOT NULL,
+ PATH VARCHAR (240) NOT NULL,
+ NAME VARCHAR (80) NOT NULL,
+ VERSION VARCHAR (40) NULL,
+ TITLE VARCHAR (100) NULL,
+ SHORT_TITLE VARCHAR (40) NULL,
+ IS_HIDDEN INT NOT NULL,
+ SKIN VARCHAR (80) NULL,
+ DEFAULT_LAYOUT_DECORATOR VARCHAR (80) NULL,
+ DEFAULT_PORTLET_DECORATOR VARCHAR (80) NULL,
+ SUBSITE VARCHAR (40) NULL,
+ USER_PRINCIPAL VARCHAR (40) NULL,
+ ROLE_PRINCIPAL VARCHAR (40) NULL,
+ GROUP_PRINCIPAL VARCHAR (40) NULL,
+ MEDIATYPE VARCHAR (15) NULL,
+ LOCALE VARCHAR (20) NULL,
+ EXT_ATTR_NAME VARCHAR (15) NULL,
+ EXT_ATTR_VALUE VARCHAR (40) NULL,
+ OWNER_PRINCIPAL VARCHAR (40) NULL,
+
+ CONSTRAINT PAGE_PK PRIMARY KEY(PAGE_ID),
+ UNIQUE (PATH));
+
+CREATE INDEX IX_PAGE_1 ON PAGE (PARENT_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_METADATA */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_METADATA_FK_1')
+ ALTER TABLE PAGE_METADATA DROP CONSTRAINT PAGE_METADATA_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_METADATA')
+BEGIN
+ DECLARE @reftable_9 nvarchar(60), @constraintname_9 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_METADATA'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_9, @constraintname_9
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_9+' drop constraint '+@constraintname_9)
+ FETCH NEXT from refcursor into @reftable_9, @constraintname_9
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_METADATA
+END
+;
+
+CREATE TABLE PAGE_METADATA
+(
+ METADATA_ID INT NOT NULL,
+ PAGE_ID INT NOT NULL,
+ NAME VARCHAR (15) NOT NULL,
+ LOCALE VARCHAR (20) NOT NULL,
+ VALUE VARCHAR (100) NOT NULL,
+
+ CONSTRAINT PAGE_METADATA_PK PRIMARY KEY(METADATA_ID),
+ UNIQUE (PAGE_ID, NAME, LOCALE, VALUE));
+
+CREATE INDEX IX_PAGE_METADATA_1 ON PAGE_METADATA (PAGE_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_CONSTRAINT_FK_1')
+ ALTER TABLE PAGE_CONSTRAINT DROP CONSTRAINT PAGE_CONSTRAINT_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_CONSTRAINT')
+BEGIN
+ DECLARE @reftable_10 nvarchar(60), @constraintname_10 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_CONSTRAINT'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_10, @constraintname_10
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_10+' drop constraint '+@constraintname_10)
+ FETCH NEXT from refcursor into @reftable_10, @constraintname_10
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_CONSTRAINT
+END
+;
+
+CREATE TABLE PAGE_CONSTRAINT
+(
+ CONSTRAINT_ID INT NOT NULL,
+ PAGE_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ USER_PRINCIPALS_ACL VARCHAR (120) NULL,
+ ROLE_PRINCIPALS_ACL VARCHAR (120) NULL,
+ GROUP_PRINCIPALS_ACL VARCHAR (120) NULL,
+ PERMISSIONS_ACL VARCHAR (120) NULL,
+
+ CONSTRAINT PAGE_CONSTRAINT_PK PRIMARY KEY(CONSTRAINT_ID));
+
+CREATE INDEX IX_PAGE_CONSTRAINT_1 ON PAGE_CONSTRAINT (PAGE_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_CONSTRAINTS_REF_FK_1')
+ ALTER TABLE PAGE_CONSTRAINTS_REF DROP CONSTRAINT PAGE_CONSTRAINTS_REF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_CONSTRAINTS_REF')
+BEGIN
+ DECLARE @reftable_11 nvarchar(60), @constraintname_11 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_CONSTRAINTS_REF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_11, @constraintname_11
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_11+' drop constraint '+@constraintname_11)
+ FETCH NEXT from refcursor into @reftable_11, @constraintname_11
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_CONSTRAINTS_REF
+END
+;
+
+CREATE TABLE PAGE_CONSTRAINTS_REF
+(
+ CONSTRAINTS_REF_ID INT NOT NULL,
+ PAGE_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ NAME VARCHAR (40) NOT NULL,
+
+ CONSTRAINT PAGE_CONSTRAINTS_REF_PK PRIMARY KEY(CONSTRAINTS_REF_ID),
+ UNIQUE (PAGE_ID, NAME));
+
+CREATE INDEX IX_PAGE_CONSTRAINTS_REF_1 ON PAGE_CONSTRAINTS_REF (PAGE_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_MENU */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_MENU_FK_1')
+ ALTER TABLE PAGE_MENU DROP CONSTRAINT PAGE_MENU_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_MENU_FK_2')
+ ALTER TABLE PAGE_MENU DROP CONSTRAINT PAGE_MENU_FK_2;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_MENU')
+BEGIN
+ DECLARE @reftable_12 nvarchar(60), @constraintname_12 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_MENU'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_12, @constraintname_12
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_12+' drop constraint '+@constraintname_12)
+ FETCH NEXT from refcursor into @reftable_12, @constraintname_12
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_MENU
+END
+;
+
+CREATE TABLE PAGE_MENU
+(
+ MENU_ID INT NOT NULL,
+ CLASS_NAME VARCHAR (100) NOT NULL,
+ PARENT_ID INT NULL,
+ PAGE_ID INT NULL,
+ ELEMENT_ORDER INT NULL,
+ NAME VARCHAR (100) NULL,
+ TITLE VARCHAR (100) NULL,
+ SHORT_TITLE VARCHAR (40) NULL,
+ TEXT VARCHAR (100) NULL,
+ OPTIONS VARCHAR (255) NULL,
+ DEPTH INT NULL,
+ IS_PATHS INT NULL,
+ IS_REGEXP INT NULL,
+ PROFILE VARCHAR (80) NULL,
+ OPTIONS_ORDER VARCHAR (255) NULL,
+ SKIN VARCHAR (80) NULL,
+ IS_NEST INT NULL,
+
+ CONSTRAINT PAGE_MENU_PK PRIMARY KEY(MENU_ID)
+/* MSSQL interprets NULL columns in a UNIQUE key as non-unique */
+/* replace UNIQUE (PAGE_ID, NAME) with IX_PAGE_MENU_UNIQUE_PN index below */
+);
+
+CREATE INDEX IX_PAGE_MENU_1 ON PAGE_MENU (PARENT_ID);
+CREATE INDEX IX_PAGE_MENU_UNIQUE_PN ON PAGE_MENU (PAGE_ID, NAME);
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_MENU_METADATA */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_MENU_METADATA_FK_1')
+ ALTER TABLE PAGE_MENU_METADATA DROP CONSTRAINT PAGE_MENU_METADATA_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_MENU_METADATA')
+BEGIN
+ DECLARE @reftable_13 nvarchar(60), @constraintname_13 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_MENU_METADATA'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_13, @constraintname_13
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_13+' drop constraint '+@constraintname_13)
+ FETCH NEXT from refcursor into @reftable_13, @constraintname_13
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_MENU_METADATA
+END
+;
+
+CREATE TABLE PAGE_MENU_METADATA
+(
+ METADATA_ID INT NOT NULL,
+ MENU_ID INT NOT NULL,
+ NAME VARCHAR (15) NOT NULL,
+ LOCALE VARCHAR (20) NOT NULL,
+ VALUE VARCHAR (100) NOT NULL,
+
+ CONSTRAINT PAGE_MENU_METADATA_PK PRIMARY KEY(METADATA_ID),
+ UNIQUE (MENU_ID, NAME, LOCALE, VALUE));
+
+CREATE INDEX IX_PAGE_MENU_METADATA_1 ON PAGE_MENU_METADATA (MENU_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FRAGMENT_FK_1')
+ ALTER TABLE FRAGMENT DROP CONSTRAINT FRAGMENT_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FRAGMENT_FK_2')
+ ALTER TABLE FRAGMENT DROP CONSTRAINT FRAGMENT_FK_2;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FRAGMENT')
+BEGIN
+ DECLARE @reftable_14 nvarchar(60), @constraintname_14 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FRAGMENT'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_14, @constraintname_14
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_14+' drop constraint '+@constraintname_14)
+ FETCH NEXT from refcursor into @reftable_14, @constraintname_14
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FRAGMENT
+END
+;
+
+CREATE TABLE FRAGMENT
+(
+ FRAGMENT_ID INT NOT NULL,
+ PARENT_ID INT NULL,
+ PAGE_ID INT NULL,
+ NAME VARCHAR (100) NULL,
+ TITLE VARCHAR (100) NULL,
+ SHORT_TITLE VARCHAR (40) NULL,
+ TYPE VARCHAR (40) NULL,
+ SKIN VARCHAR (80) NULL,
+ DECORATOR VARCHAR (80) NULL,
+ STATE VARCHAR (40) NULL,
+ LAYOUT_ROW INT NULL,
+ LAYOUT_COLUMN INT NULL,
+ LAYOUT_SIZES VARCHAR (20) NULL,
+ EXT_PROP_NAME_1 VARCHAR (40) NULL,
+ EXT_PROP_VALUE_1 VARCHAR (80) NULL,
+ EXT_PROP_NAME_2 VARCHAR (40) NULL,
+ EXT_PROP_VALUE_2 VARCHAR (80) NULL,
+ OWNER_PRINCIPAL VARCHAR (40) NULL,
+
+ CONSTRAINT FRAGMENT_PK PRIMARY KEY(FRAGMENT_ID),
+/* MSSQL interprets NULL columns in a UNIQUE key as non-unique */
+/* replace UNIQUE (PAGE_ID) with IX_FRAGMENT_UNIQUE_PAGE_ID index below */
+);
+
+CREATE INDEX IX_FRAGMENT_1 ON FRAGMENT (PARENT_ID);
+CREATE INDEX IX_FRAGMENT_UNIQUE_PAGE_ID ON FRAGMENT (PAGE_ID);
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FRAGMENT_CONSTRAINT_FK_1')
+ ALTER TABLE FRAGMENT_CONSTRAINT DROP CONSTRAINT FRAGMENT_CONSTRAINT_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FRAGMENT_CONSTRAINT')
+BEGIN
+ DECLARE @reftable_15 nvarchar(60), @constraintname_15 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FRAGMENT_CONSTRAINT'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_15, @constraintname_15
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_15+' drop constraint '+@constraintname_15)
+ FETCH NEXT from refcursor into @reftable_15, @constraintname_15
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FRAGMENT_CONSTRAINT
+END
+;
+
+CREATE TABLE FRAGMENT_CONSTRAINT
+(
+ CONSTRAINT_ID INT NOT NULL,
+ FRAGMENT_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ USER_PRINCIPALS_ACL VARCHAR (120) NULL,
+ ROLE_PRINCIPALS_ACL VARCHAR (120) NULL,
+ GROUP_PRINCIPALS_ACL VARCHAR (120) NULL,
+ PERMISSIONS_ACL VARCHAR (120) NULL,
+
+ CONSTRAINT FRAGMENT_CONSTRAINT_PK PRIMARY KEY(CONSTRAINT_ID));
+
+CREATE INDEX IX_FRAGMENT_CONSTRAINT_1 ON FRAGMENT_CONSTRAINT (FRAGMENT_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FRAGMENT_CONSTRAINTS_REF_FK_1')
+ ALTER TABLE FRAGMENT_CONSTRAINTS_REF DROP CONSTRAINT FRAGMENT_CONSTRAINTS_REF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FRAGMENT_CONSTRAINTS_REF')
+BEGIN
+ DECLARE @reftable_16 nvarchar(60), @constraintname_16 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FRAGMENT_CONSTRAINTS_REF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_16, @constraintname_16
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_16+' drop constraint '+@constraintname_16)
+ FETCH NEXT from refcursor into @reftable_16, @constraintname_16
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FRAGMENT_CONSTRAINTS_REF
+END
+;
+
+CREATE TABLE FRAGMENT_CONSTRAINTS_REF
+(
+ CONSTRAINTS_REF_ID INT NOT NULL,
+ FRAGMENT_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ NAME VARCHAR (40) NOT NULL,
+
+ CONSTRAINT FRAGMENT_CONSTRAINTS_REF_PK PRIMARY KEY(CONSTRAINTS_REF_ID),
+ UNIQUE (FRAGMENT_ID, NAME));
+
+CREATE INDEX IX_FRAGMENT_CONSTRAINTS_REF_1 ON FRAGMENT_CONSTRAINTS_REF (FRAGMENT_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_PREF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FRAGMENT_PREF_FK_1')
+ ALTER TABLE FRAGMENT_PREF DROP CONSTRAINT FRAGMENT_PREF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FRAGMENT_PREF')
+BEGIN
+ DECLARE @reftable_17 nvarchar(60), @constraintname_17 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FRAGMENT_PREF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_17, @constraintname_17
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_17+' drop constraint '+@constraintname_17)
+ FETCH NEXT from refcursor into @reftable_17, @constraintname_17
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FRAGMENT_PREF
+END
+;
+
+CREATE TABLE FRAGMENT_PREF
+(
+ PREF_ID INT NOT NULL,
+ FRAGMENT_ID INT NOT NULL,
+ NAME VARCHAR (40) NOT NULL,
+ IS_READ_ONLY INT NOT NULL,
+
+ CONSTRAINT FRAGMENT_PREF_PK PRIMARY KEY(PREF_ID),
+ UNIQUE (FRAGMENT_ID, NAME));
+
+CREATE INDEX IX_FRAGMENT_PREF_1 ON FRAGMENT_PREF (FRAGMENT_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_PREF_VALUE */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='FRAGMENT_PREF_VALUE_FK_1')
+ ALTER TABLE FRAGMENT_PREF_VALUE DROP CONSTRAINT FRAGMENT_PREF_VALUE_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'FRAGMENT_PREF_VALUE')
+BEGIN
+ DECLARE @reftable_18 nvarchar(60), @constraintname_18 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'FRAGMENT_PREF_VALUE'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_18, @constraintname_18
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_18+' drop constraint '+@constraintname_18)
+ FETCH NEXT from refcursor into @reftable_18, @constraintname_18
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE FRAGMENT_PREF_VALUE
+END
+;
+
+CREATE TABLE FRAGMENT_PREF_VALUE
+(
+ PREF_VALUE_ID INT NOT NULL,
+ PREF_ID INT NOT NULL,
+ VALUE_ORDER INT NOT NULL,
+ VALUE VARCHAR (100) NOT NULL,
+
+ CONSTRAINT FRAGMENT_PREF_VALUE_PK PRIMARY KEY(PREF_VALUE_ID));
+
+CREATE INDEX IX_FRAGMENT_PREF_VALUE_1 ON FRAGMENT_PREF_VALUE (PREF_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='LINK_FK_1')
+ ALTER TABLE LINK DROP CONSTRAINT LINK_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'LINK')
+BEGIN
+ DECLARE @reftable_19 nvarchar(60), @constraintname_19 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'LINK'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_19, @constraintname_19
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_19+' drop constraint '+@constraintname_19)
+ FETCH NEXT from refcursor into @reftable_19, @constraintname_19
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE LINK
+END
+;
+
+CREATE TABLE LINK
+(
+ LINK_ID INT NOT NULL,
+ PARENT_ID INT NOT NULL,
+ PATH VARCHAR (240) NOT NULL,
+ NAME VARCHAR (80) NOT NULL,
+ VERSION VARCHAR (40) NULL,
+ TITLE VARCHAR (100) NULL,
+ SHORT_TITLE VARCHAR (40) NULL,
+ IS_HIDDEN INT NOT NULL,
+ TARGET VARCHAR (80) NULL,
+ URL VARCHAR (255) NULL,
+ SUBSITE VARCHAR (40) NULL,
+ USER_PRINCIPAL VARCHAR (40) NULL,
+ ROLE_PRINCIPAL VARCHAR (40) NULL,
+ GROUP_PRINCIPAL VARCHAR (40) NULL,
+ MEDIATYPE VARCHAR (15) NULL,
+ LOCALE VARCHAR (20) NULL,
+ EXT_ATTR_NAME VARCHAR (15) NULL,
+ EXT_ATTR_VALUE VARCHAR (40) NULL,
+ OWNER_PRINCIPAL VARCHAR (40) NULL,
+
+ CONSTRAINT LINK_PK PRIMARY KEY(LINK_ID),
+ UNIQUE (PATH));
+
+CREATE INDEX IX_LINK_1 ON LINK (PARENT_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK_METADATA */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='LINK_METADATA_FK_1')
+ ALTER TABLE LINK_METADATA DROP CONSTRAINT LINK_METADATA_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'LINK_METADATA')
+BEGIN
+ DECLARE @reftable_20 nvarchar(60), @constraintname_20 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'LINK_METADATA'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_20, @constraintname_20
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_20+' drop constraint '+@constraintname_20)
+ FETCH NEXT from refcursor into @reftable_20, @constraintname_20
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE LINK_METADATA
+END
+;
+
+CREATE TABLE LINK_METADATA
+(
+ METADATA_ID INT NOT NULL,
+ LINK_ID INT NOT NULL,
+ NAME VARCHAR (15) NOT NULL,
+ LOCALE VARCHAR (20) NOT NULL,
+ VALUE VARCHAR (100) NOT NULL,
+
+ CONSTRAINT LINK_METADATA_PK PRIMARY KEY(METADATA_ID),
+ UNIQUE (LINK_ID, NAME, LOCALE, VALUE));
+
+CREATE INDEX IX_LINK_METADATA_1 ON LINK_METADATA (LINK_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='LINK_CONSTRAINT_FK_1')
+ ALTER TABLE LINK_CONSTRAINT DROP CONSTRAINT LINK_CONSTRAINT_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'LINK_CONSTRAINT')
+BEGIN
+ DECLARE @reftable_21 nvarchar(60), @constraintname_21 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'LINK_CONSTRAINT'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_21, @constraintname_21
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_21+' drop constraint '+@constraintname_21)
+ FETCH NEXT from refcursor into @reftable_21, @constraintname_21
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE LINK_CONSTRAINT
+END
+;
+
+CREATE TABLE LINK_CONSTRAINT
+(
+ CONSTRAINT_ID INT NOT NULL,
+ LINK_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ USER_PRINCIPALS_ACL VARCHAR (120) NULL,
+ ROLE_PRINCIPALS_ACL VARCHAR (120) NULL,
+ GROUP_PRINCIPALS_ACL VARCHAR (120) NULL,
+ PERMISSIONS_ACL VARCHAR (120) NULL,
+
+ CONSTRAINT LINK_CONSTRAINT_PK PRIMARY KEY(CONSTRAINT_ID));
+
+CREATE INDEX IX_LINK_CONSTRAINT_1 ON LINK_CONSTRAINT (LINK_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='LINK_CONSTRAINTS_REF_FK_1')
+ ALTER TABLE LINK_CONSTRAINTS_REF DROP CONSTRAINT LINK_CONSTRAINTS_REF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'LINK_CONSTRAINTS_REF')
+BEGIN
+ DECLARE @reftable_22 nvarchar(60), @constraintname_22 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'LINK_CONSTRAINTS_REF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_22, @constraintname_22
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_22+' drop constraint '+@constraintname_22)
+ FETCH NEXT from refcursor into @reftable_22, @constraintname_22
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE LINK_CONSTRAINTS_REF
+END
+;
+
+CREATE TABLE LINK_CONSTRAINTS_REF
+(
+ CONSTRAINTS_REF_ID INT NOT NULL,
+ LINK_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ NAME VARCHAR (40) NOT NULL,
+
+ CONSTRAINT LINK_CONSTRAINTS_REF_PK PRIMARY KEY(CONSTRAINTS_REF_ID),
+ UNIQUE (LINK_ID, NAME));
+
+CREATE INDEX IX_LINK_CONSTRAINTS_REF_1 ON LINK_CONSTRAINTS_REF (LINK_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SECURITY */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_SECURITY_FK_1')
+ ALTER TABLE PAGE_SECURITY DROP CONSTRAINT PAGE_SECURITY_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_SECURITY')
+BEGIN
+ DECLARE @reftable_23 nvarchar(60), @constraintname_23 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_SECURITY'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_23, @constraintname_23
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_23+' drop constraint '+@constraintname_23)
+ FETCH NEXT from refcursor into @reftable_23, @constraintname_23
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_SECURITY
+END
+;
+
+CREATE TABLE PAGE_SECURITY
+(
+ PAGE_SECURITY_ID INT NOT NULL,
+ PARENT_ID INT NOT NULL,
+ PATH VARCHAR (240) NOT NULL,
+ NAME VARCHAR (80) NOT NULL,
+ VERSION VARCHAR (40) NULL,
+ SUBSITE VARCHAR (40) NULL,
+ USER_PRINCIPAL VARCHAR (40) NULL,
+ ROLE_PRINCIPAL VARCHAR (40) NULL,
+ GROUP_PRINCIPAL VARCHAR (40) NULL,
+ MEDIATYPE VARCHAR (15) NULL,
+ LOCALE VARCHAR (20) NULL,
+ EXT_ATTR_NAME VARCHAR (15) NULL,
+ EXT_ATTR_VALUE VARCHAR (40) NULL,
+
+ CONSTRAINT PAGE_SECURITY_PK PRIMARY KEY(PAGE_SECURITY_ID),
+ UNIQUE (PARENT_ID),
+ UNIQUE (PATH));
+
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SEC_CONSTRAINTS_DEF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_SEC_CONSTRAINTS_DEF_FK_1')
+ ALTER TABLE PAGE_SEC_CONSTRAINTS_DEF DROP CONSTRAINT PAGE_SEC_CONSTRAINTS_DEF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_SEC_CONSTRAINTS_DEF')
+BEGIN
+ DECLARE @reftable_24 nvarchar(60), @constraintname_24 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_SEC_CONSTRAINTS_DEF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_24, @constraintname_24
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_24+' drop constraint '+@constraintname_24)
+ FETCH NEXT from refcursor into @reftable_24, @constraintname_24
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_SEC_CONSTRAINTS_DEF
+END
+;
+
+CREATE TABLE PAGE_SEC_CONSTRAINTS_DEF
+(
+ CONSTRAINTS_DEF_ID INT NOT NULL,
+ PAGE_SECURITY_ID INT NOT NULL,
+ NAME VARCHAR (40) NOT NULL,
+
+ CONSTRAINT PAGE_SEC_CONSTRAINTS_DEF_PK PRIMARY KEY(CONSTRAINTS_DEF_ID),
+ UNIQUE (PAGE_SECURITY_ID, NAME));
+
+CREATE INDEX IX_PAGE_SEC_CONSTRAINTS_DEF_1 ON PAGE_SEC_CONSTRAINTS_DEF (PAGE_SECURITY_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SEC_CONSTRAINT_DEF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_SEC_CONSTRAINT_DEF_FK_1')
+ ALTER TABLE PAGE_SEC_CONSTRAINT_DEF DROP CONSTRAINT PAGE_SEC_CONSTRAINT_DEF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_SEC_CONSTRAINT_DEF')
+BEGIN
+ DECLARE @reftable_25 nvarchar(60), @constraintname_25 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_SEC_CONSTRAINT_DEF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_25, @constraintname_25
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_25+' drop constraint '+@constraintname_25)
+ FETCH NEXT from refcursor into @reftable_25, @constraintname_25
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_SEC_CONSTRAINT_DEF
+END
+;
+
+CREATE TABLE PAGE_SEC_CONSTRAINT_DEF
+(
+ CONSTRAINT_DEF_ID INT NOT NULL,
+ CONSTRAINTS_DEF_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ USER_PRINCIPALS_ACL VARCHAR (120) NULL,
+ ROLE_PRINCIPALS_ACL VARCHAR (120) NULL,
+ GROUP_PRINCIPALS_ACL VARCHAR (120) NULL,
+ PERMISSIONS_ACL VARCHAR (120) NULL,
+
+ CONSTRAINT PAGE_SEC_CONSTRAINT_DEF_PK PRIMARY KEY(CONSTRAINT_DEF_ID));
+
+CREATE INDEX IX_PAGE_SEC_CONSTRAINT_DEF_1 ON PAGE_SEC_CONSTRAINT_DEF (CONSTRAINTS_DEF_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SEC_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='PAGE_SEC_CONSTRAINTS_REF_FK_1')
+ ALTER TABLE PAGE_SEC_CONSTRAINTS_REF DROP CONSTRAINT PAGE_SEC_CONSTRAINTS_REF_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PAGE_SEC_CONSTRAINTS_REF')
+BEGIN
+ DECLARE @reftable_26 nvarchar(60), @constraintname_26 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PAGE_SEC_CONSTRAINTS_REF'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_26, @constraintname_26
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_26+' drop constraint '+@constraintname_26)
+ FETCH NEXT from refcursor into @reftable_26, @constraintname_26
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PAGE_SEC_CONSTRAINTS_REF
+END
+;
+
+CREATE TABLE PAGE_SEC_CONSTRAINTS_REF
+(
+ CONSTRAINTS_REF_ID INT NOT NULL,
+ PAGE_SECURITY_ID INT NOT NULL,
+ APPLY_ORDER INT NOT NULL,
+ NAME VARCHAR (40) NOT NULL,
+
+ CONSTRAINT PAGE_SEC_CONSTRAINTS_REF_PK PRIMARY KEY(CONSTRAINTS_REF_ID),
+ UNIQUE (PAGE_SECURITY_ID, NAME));
+
+CREATE INDEX IX_PAGE_SEC_CONSTRAINTS_REF_1 ON PAGE_SEC_CONSTRAINTS_REF (PAGE_SECURITY_ID);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PROFILING_RULE */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PROFILING_RULE')
+BEGIN
+ DECLARE @reftable_27 nvarchar(60), @constraintname_27 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PROFILING_RULE'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_27, @constraintname_27
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_27+' drop constraint '+@constraintname_27)
+ FETCH NEXT from refcursor into @reftable_27, @constraintname_27
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PROFILING_RULE
+END
+;
+
+CREATE TABLE PROFILING_RULE
+(
+ RULE_ID VARCHAR (80) NOT NULL,
+ CLASS_NAME VARCHAR (100) NOT NULL,
+ TITLE VARCHAR (100) NULL,
+
+ CONSTRAINT PROFILING_RULE_PK PRIMARY KEY(RULE_ID));
+
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* RULE_CRITERION */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type ='RI' AND name='RULE_CRITERION_FK_1')
+ ALTER TABLE RULE_CRITERION DROP CONSTRAINT RULE_CRITERION_FK_1;
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'RULE_CRITERION')
+BEGIN
+ DECLARE @reftable_28 nvarchar(60), @constraintname_28 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'RULE_CRITERION'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_28, @constraintname_28
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_28+' drop constraint '+@constraintname_28)
+ FETCH NEXT from refcursor into @reftable_28, @constraintname_28
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE RULE_CRITERION
+END
+;
+
+CREATE TABLE RULE_CRITERION
+(
+ CRITERION_ID VARCHAR (80) NOT NULL,
+ RULE_ID VARCHAR (80) NOT NULL,
+ FALLBACK_ORDER INT NOT NULL,
+ REQUEST_TYPE VARCHAR (40) NOT NULL,
+ NAME VARCHAR (80) NOT NULL,
+ COLUMN_VALUE VARCHAR (128) NULL,
+ FALLBACK_TYPE INT default 1 NULL,
+
+ CONSTRAINT RULE_CRITERION_PK PRIMARY KEY(CRITERION_ID));
+
+CREATE INDEX IX_RULE_CRITERION_1 ON RULE_CRITERION (RULE_ID, FALLBACK_ORDER);
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PRINCIPAL_RULE_ASSOC */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PRINCIPAL_RULE_ASSOC')
+BEGIN
+ DECLARE @reftable_29 nvarchar(60), @constraintname_29 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PRINCIPAL_RULE_ASSOC'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_29, @constraintname_29
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_29+' drop constraint '+@constraintname_29)
+ FETCH NEXT from refcursor into @reftable_29, @constraintname_29
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PRINCIPAL_RULE_ASSOC
+END
+;
+
+CREATE TABLE PRINCIPAL_RULE_ASSOC
+(
+ PRINCIPAL_NAME VARCHAR (80) NOT NULL,
+ LOCATOR_NAME VARCHAR (80) NOT NULL,
+ RULE_ID VARCHAR (80) NOT NULL,
+
+ CONSTRAINT PRINCIPAL_RULE_ASSOC_PK PRIMARY KEY(PRINCIPAL_NAME,LOCATOR_NAME));
+
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PROFILE_PAGE_ASSOC */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'PROFILE_PAGE_ASSOC')
+BEGIN
+ DECLARE @reftable_30 nvarchar(60), @constraintname_30 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'PROFILE_PAGE_ASSOC'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_30, @constraintname_30
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_30+' drop constraint '+@constraintname_30)
+ FETCH NEXT from refcursor into @reftable_30, @constraintname_30
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE PROFILE_PAGE_ASSOC
+END
+;
+
+CREATE TABLE PROFILE_PAGE_ASSOC
+(
+ LOCATOR_HASH VARCHAR (40) NOT NULL,
+ PAGE_ID VARCHAR (80) NOT NULL,
+
+ UNIQUE (LOCATOR_HASH, PAGE_ID));
+
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* CLUBS */
+/* ---------------------------------------------------------------------- */
+
+IF EXISTS (SELECT 1 FROM sysobjects WHERE type = 'U' AND name = 'CLUBS')
+BEGIN
+ DECLARE @reftable_31 nvarchar(60), @constraintname_31 nvarchar(60)
+ DECLARE refcursor CURSOR FOR
+ select reftables.name tablename, cons.name constraintname
+ from sysobjects tables,
+ sysobjects reftables,
+ sysobjects cons,
+ sysreferences ref
+ where tables.id = ref.rkeyid
+ and cons.id = ref.constid
+ and reftables.id = ref.fkeyid
+ and tables.name = 'CLUBS'
+ OPEN refcursor
+ FETCH NEXT from refcursor into @reftable_31, @constraintname_31
+ while @@FETCH_STATUS = 0
+ BEGIN
+ exec ('alter table '+@reftable_31+' drop constraint '+@constraintname_31)
+ FETCH NEXT from refcursor into @reftable_31, @constraintname_31
+ END
+ CLOSE refcursor
+ DEALLOCATE refcursor
+ DROP TABLE CLUBS
+END
+;
+
+CREATE TABLE CLUBS
+(
+ NAME VARCHAR (80) NOT NULL,
+ COUNTRY VARCHAR (40) NOT NULL,
+ CITY VARCHAR (40) NOT NULL,
+ STADIUM VARCHAR (80) NOT NULL,
+ CAPACITY INT NULL,
+ FOUNDED INT NULL,
+ PITCH VARCHAR (40) NULL,
+ NICKNAME VARCHAR (40) NULL,
+
+ CONSTRAINT CLUBS_PK PRIMARY KEY(NAME));
+
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* CLUBS */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FOLDER
+ ADD CONSTRAINT FOLDER_FK_1 FOREIGN KEY (PARENT_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ /* ON DELETE CASCADE - cannot be used: Introducing FOREIGN KEY constraint 'X_FK_N' on table 'X' may cause cycles or multiple cascade paths. */
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FOLDER_METADATA
+ ADD CONSTRAINT FOLDER_METADATA_FK_1 FOREIGN KEY (FOLDER_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_METADATA */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FOLDER_CONSTRAINT
+ ADD CONSTRAINT FOLDER_CONSTRAINT_FK_1 FOREIGN KEY (FOLDER_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FOLDER_CONSTRAINTS_REF
+ ADD CONSTRAINT FOLDER_CONSTRAINTS_REF_FK_1 FOREIGN KEY (FOLDER_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FOLDER_ORDER
+ ADD CONSTRAINT FOLDER_ORDER_FK_1 FOREIGN KEY (FOLDER_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_ORDER */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FOLDER_MENU
+ ADD CONSTRAINT FOLDER_MENU_FK_1 FOREIGN KEY (PARENT_ID)
+ REFERENCES FOLDER_MENU (MENU_ID)
+ /* ON DELETE CASCADE - cannot be used: Introducing FOREIGN KEY constraint 'X_FK_N' on table 'X' may cause cycles or multiple cascade paths. */
+END
+;
+
+BEGIN
+ALTER TABLE FOLDER_MENU
+ ADD CONSTRAINT FOLDER_MENU_FK_2 FOREIGN KEY (FOLDER_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_MENU */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FOLDER_MENU_METADATA
+ ADD CONSTRAINT FOLDER_MENU_METADATA_FK_1 FOREIGN KEY (MENU_ID)
+ REFERENCES FOLDER_MENU (MENU_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FOLDER_MENU_METADATA */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE
+ ADD CONSTRAINT PAGE_FK_1 FOREIGN KEY (PARENT_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_METADATA
+ ADD CONSTRAINT PAGE_METADATA_FK_1 FOREIGN KEY (PAGE_ID)
+ REFERENCES PAGE (PAGE_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_METADATA */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_CONSTRAINT
+ ADD CONSTRAINT PAGE_CONSTRAINT_FK_1 FOREIGN KEY (PAGE_ID)
+ REFERENCES PAGE (PAGE_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_CONSTRAINTS_REF
+ ADD CONSTRAINT PAGE_CONSTRAINTS_REF_FK_1 FOREIGN KEY (PAGE_ID)
+ REFERENCES PAGE (PAGE_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_MENU
+ ADD CONSTRAINT PAGE_MENU_FK_1 FOREIGN KEY (PARENT_ID)
+ REFERENCES PAGE_MENU (MENU_ID)
+ /* ON DELETE CASCADE - cannot be used: Introducing FOREIGN KEY constraint 'X_FK_N' on table 'X' may cause cycles or multiple cascade paths. */
+END
+;
+
+BEGIN
+ALTER TABLE PAGE_MENU
+ ADD CONSTRAINT PAGE_MENU_FK_2 FOREIGN KEY (PAGE_ID)
+ REFERENCES PAGE (PAGE_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_MENU */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_MENU_METADATA
+ ADD CONSTRAINT PAGE_MENU_METADATA_FK_1 FOREIGN KEY (MENU_ID)
+ REFERENCES PAGE_MENU (MENU_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_MENU_METADATA */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FRAGMENT
+ ADD CONSTRAINT FRAGMENT_FK_1 FOREIGN KEY (PARENT_ID)
+ REFERENCES FRAGMENT (FRAGMENT_ID)
+ /* ON DELETE CASCADE - cannot be used: Introducing FOREIGN KEY constraint 'X_FK_N' on table 'X' may cause cycles or multiple cascade paths. */
+END
+;
+
+BEGIN
+ALTER TABLE FRAGMENT
+ ADD CONSTRAINT FRAGMENT_FK_2 FOREIGN KEY (PAGE_ID)
+ REFERENCES PAGE (PAGE_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FRAGMENT_CONSTRAINT
+ ADD CONSTRAINT FRAGMENT_CONSTRAINT_FK_1 FOREIGN KEY (FRAGMENT_ID)
+ REFERENCES FRAGMENT (FRAGMENT_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FRAGMENT_CONSTRAINTS_REF
+ ADD CONSTRAINT FRAGMENT_CONSTRAINTS_REF_FK_1 FOREIGN KEY (FRAGMENT_ID)
+ REFERENCES FRAGMENT (FRAGMENT_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FRAGMENT_PREF
+ ADD CONSTRAINT FRAGMENT_PREF_FK_1 FOREIGN KEY (FRAGMENT_ID)
+ REFERENCES FRAGMENT (FRAGMENT_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_PREF */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE FRAGMENT_PREF_VALUE
+ ADD CONSTRAINT FRAGMENT_PREF_VALUE_FK_1 FOREIGN KEY (PREF_ID)
+ REFERENCES FRAGMENT_PREF (PREF_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* FRAGMENT_PREF_VALUE */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE LINK
+ ADD CONSTRAINT LINK_FK_1 FOREIGN KEY (PARENT_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE LINK_METADATA
+ ADD CONSTRAINT LINK_METADATA_FK_1 FOREIGN KEY (LINK_ID)
+ REFERENCES LINK (LINK_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK_METADATA */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE LINK_CONSTRAINT
+ ADD CONSTRAINT LINK_CONSTRAINT_FK_1 FOREIGN KEY (LINK_ID)
+ REFERENCES LINK (LINK_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK_CONSTRAINT */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE LINK_CONSTRAINTS_REF
+ ADD CONSTRAINT LINK_CONSTRAINTS_REF_FK_1 FOREIGN KEY (LINK_ID)
+ REFERENCES LINK (LINK_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* LINK_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_SECURITY
+ ADD CONSTRAINT PAGE_SECURITY_FK_1 FOREIGN KEY (PARENT_ID)
+ REFERENCES FOLDER (FOLDER_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SECURITY */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_SEC_CONSTRAINTS_DEF
+ ADD CONSTRAINT PAGE_SEC_CONSTRAINTS_DEF_FK_1 FOREIGN KEY (PAGE_SECURITY_ID)
+ REFERENCES PAGE_SECURITY (PAGE_SECURITY_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SEC_CONSTRAINTS_DEF */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_SEC_CONSTRAINT_DEF
+ ADD CONSTRAINT PAGE_SEC_CONSTRAINT_DEF_FK_1 FOREIGN KEY (CONSTRAINTS_DEF_ID)
+ REFERENCES PAGE_SEC_CONSTRAINTS_DEF (CONSTRAINTS_DEF_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SEC_CONSTRAINT_DEF */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE PAGE_SEC_CONSTRAINTS_REF
+ ADD CONSTRAINT PAGE_SEC_CONSTRAINTS_REF_FK_1 FOREIGN KEY (PAGE_SECURITY_ID)
+ REFERENCES PAGE_SECURITY (PAGE_SECURITY_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PAGE_SEC_CONSTRAINTS_REF */
+/* ---------------------------------------------------------------------- */
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PROFILING_RULE */
+/* ---------------------------------------------------------------------- */
+
+BEGIN
+ALTER TABLE RULE_CRITERION
+ ADD CONSTRAINT RULE_CRITERION_FK_1 FOREIGN KEY (RULE_ID)
+ REFERENCES PROFILING_RULE (RULE_ID)
+ ON DELETE CASCADE
+END
+;
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* RULE_CRITERION */
+/* ---------------------------------------------------------------------- */
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PRINCIPAL_RULE_ASSOC */
+/* ---------------------------------------------------------------------- */
+
+
+
+
+/* ---------------------------------------------------------------------- */
+/* PROFILE_PAGE_ASSOC */
+/* ---------------------------------------------------------------------- */
+
+
+
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org