diff --git a/dspace/etc/database_schema.sql b/dspace/etc/database_schema.sql index f6fb8d76e1..c04e9afc8d 100644 --- a/dspace/etc/database_schema.sql +++ b/dspace/etc/database_schema.sql @@ -573,12 +573,12 @@ WHERE Collection2Item.collection_id = Community2Collection.collection_id ------------------------------------------------------------------------- CREATE TABLE collection_item_count ( - collection_id INTEGER REFERENCES collection(collection_id), + collection_id INTEGER PRIMARY KEY REFERENCES collection(collection_id), count INTEGER ); CREATE TABLE community_item_count ( - community_id INTEGER REFERENCES community(community_id), + community_id INTEGER PRIMARY KEY REFERENCES community(community_id), count INTEGER ); diff --git a/dspace/etc/database_schema_14-15.sql b/dspace/etc/database_schema_14-15.sql index 3295e307e3..c3849d13d5 100644 --- a/dspace/etc/database_schema_14-15.sql +++ b/dspace/etc/database_schema_14-15.sql @@ -67,12 +67,12 @@ ALTER TABLE workspaceitem ADD page_reached INTEGER; ------------------------------------------------------------------------- CREATE TABLE collection_item_count ( - collection_id INTEGER REFERENCES collection(collection_id), + collection_id INTEGER PRIMARY KEY REFERENCES collection(collection_id), count INTEGER ); CREATE TABLE community_item_count ( - community_id INTEGER REFERENCES community(community_id), + community_id INTEGER PRIMARY KEY REFERENCES community(community_id), count INTEGER ); diff --git a/dspace/etc/oracle/database_schema.sql b/dspace/etc/oracle/database_schema.sql index fe6a5f1c4c..23bf86f45e 100644 --- a/dspace/etc/oracle/database_schema.sql +++ b/dspace/etc/oracle/database_schema.sql @@ -523,6 +523,20 @@ WHERE Collection2Item.collection_id = Community2Collection.collection_id -- Indexing browse tables update/re-index performance CREATE INDEX Communities2Item_item_id_idx ON Communities2Item( item_id ); +------------------------------------------------------------------------- +-- Tables to manage cache of item counts for communities and collections +------------------------------------------------------------------------- + +CREATE TABLE collection_item_count ( + collection_id INTEGER PRIMARY KEY REFERENCES collection(collection_id), + count INTEGER +); + +CREATE TABLE community_item_count ( + community_id INTEGER PRIMARY KEY REFERENCES community(community_id), + count INTEGER +); + ------------------------------------------------------- -- Create 'special' groups, for anonymous access -- and administrators diff --git a/dspace/etc/oracle/database_schema_142-15.sql b/dspace/etc/oracle/database_schema_142-15.sql index f5de436432..08587861d3 100644 --- a/dspace/etc/oracle/database_schema_142-15.sql +++ b/dspace/etc/oracle/database_schema_142-15.sql @@ -70,12 +70,12 @@ ALTER TABLE workspaceitem ADD page_reached INTEGER; ------------------------------------------------------------------------- CREATE TABLE collection_item_count ( - collection_id INTEGER REFERENCES collection(collection_id), + collection_id INTEGER PRIMARY KEY REFERENCES collection(collection_id), count INTEGER ); CREATE TABLE community_item_count ( - community_id INTEGER REFERENCES community(community_id), + community_id INTEGER PRIMARY KEY REFERENCES community(community_id), count INTEGER );