diff --git a/dspace/etc/database_schema_13-14.sql b/dspace/etc/database_schema_13-14.sql new file mode 100644 index 0000000000..d5c3965508 --- /dev/null +++ b/dspace/etc/database_schema_13-14.sql @@ -0,0 +1,77 @@ +-- +-- database_schema_13-14.sql +-- +-- Version: $Revision$ +-- +-- Date: $Date$ +-- +-- Copyright (c) 2002, Hewlett-Packard Company and Massachusetts +-- Institute of Technology. All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions are +-- met: +-- +-- - Redistributions of source code must retain the above copyright +-- notice, this list of conditions and the following disclaimer. +-- +-- - Redistributions in binary form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- - Neither the name of the Hewlett-Packard Company nor the name of the +-- Massachusetts Institute of Technology nor the names of their +-- contributors may be used to endorse or promote products derived from +-- this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +-- HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +-- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +-- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +-- TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +-- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +-- DAMAGE. + +-- +-- SQL commands to upgrade the database schema of a live DSpace 1.3 or 1.3.x +-- to the DSpace 1.4 database schema +-- +-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. +-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. +-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. +------------------------------------------------------------------------------- +-- Sequences for Group within Group feature +------------------------------------------------------------------------------- +CREATE SEQUENCE group2group_seq; +CREATE SEQUENCE group2groupcache_seq; + +------------------------------------------------------ +-- Group2Group table, records group membership in other groups +------------------------------------------------------ +CREATE TABLE Group2Group +( + id INTEGER PRIMARY KEY, + parent_id INTEGER REFERENCES EPersonGroup(eperson_group_id), + child_id INTEGER REFERENCES EPersonGroup(eperson_group_id) +); + +------------------------------------------------------ +-- Group2GroupCache table, is the 'unwound' hierarchy in +-- Group2Group. It explicitly names every parent child +-- relationship, even with nested groups. For example, +-- If Group2Group lists B is a child of A and C is a child of B, +-- this table will have entries for parent(A,B), and parent(B,C) +-- AND parent(A,C) so that all of the child groups of A can be +-- looked up in a single simple query +------------------------------------------------------ +CREATE TABLE Group2GroupCache +( + id INTEGER PRIMARY KEY, + parent_id INTEGER REFERENCES EPersonGroup(eperson_group_id), + child_id INTEGER REFERENCES EPersonGroup(eperson_group_id) +); diff --git a/dspace/etc/oracle/database_schema_13-14.sql b/dspace/etc/oracle/database_schema_13-14.sql new file mode 100644 index 0000000000..d5c3965508 --- /dev/null +++ b/dspace/etc/oracle/database_schema_13-14.sql @@ -0,0 +1,77 @@ +-- +-- database_schema_13-14.sql +-- +-- Version: $Revision$ +-- +-- Date: $Date$ +-- +-- Copyright (c) 2002, Hewlett-Packard Company and Massachusetts +-- Institute of Technology. All rights reserved. +-- +-- Redistribution and use in source and binary forms, with or without +-- modification, are permitted provided that the following conditions are +-- met: +-- +-- - Redistributions of source code must retain the above copyright +-- notice, this list of conditions and the following disclaimer. +-- +-- - Redistributions in binary form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in the +-- documentation and/or other materials provided with the distribution. +-- +-- - Neither the name of the Hewlett-Packard Company nor the name of the +-- Massachusetts Institute of Technology nor the names of their +-- contributors may be used to endorse or promote products derived from +-- this software without specific prior written permission. +-- +-- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +-- ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +-- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +-- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +-- HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +-- INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +-- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS +-- OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +-- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR +-- TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +-- USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +-- DAMAGE. + +-- +-- SQL commands to upgrade the database schema of a live DSpace 1.3 or 1.3.x +-- to the DSpace 1.4 database schema +-- +-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. +-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. +-- DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. DUMP YOUR DATABASE FIRST. +------------------------------------------------------------------------------- +-- Sequences for Group within Group feature +------------------------------------------------------------------------------- +CREATE SEQUENCE group2group_seq; +CREATE SEQUENCE group2groupcache_seq; + +------------------------------------------------------ +-- Group2Group table, records group membership in other groups +------------------------------------------------------ +CREATE TABLE Group2Group +( + id INTEGER PRIMARY KEY, + parent_id INTEGER REFERENCES EPersonGroup(eperson_group_id), + child_id INTEGER REFERENCES EPersonGroup(eperson_group_id) +); + +------------------------------------------------------ +-- Group2GroupCache table, is the 'unwound' hierarchy in +-- Group2Group. It explicitly names every parent child +-- relationship, even with nested groups. For example, +-- If Group2Group lists B is a child of A and C is a child of B, +-- this table will have entries for parent(A,B), and parent(B,C) +-- AND parent(A,C) so that all of the child groups of A can be +-- looked up in a single simple query +------------------------------------------------------ +CREATE TABLE Group2GroupCache +( + id INTEGER PRIMARY KEY, + parent_id INTEGER REFERENCES EPersonGroup(eperson_group_id), + child_id INTEGER REFERENCES EPersonGroup(eperson_group_id) +);