Skip to content

Commit

Permalink
Merge pull request #4170 from BimsaraBodaragama/db-structure/4.10.x-r…
Browse files Browse the repository at this point in the history
…esource-sharing-policy-mgt-new

Add Database Schema for Resource Sharing Policies Management Component
  • Loading branch information
SujanSanjula96 authored Jan 20, 2025
2 parents 526cff4 + 5115441 commit 511b631
Show file tree
Hide file tree
Showing 9 changed files with 332 additions and 4 deletions.
47 changes: 47 additions & 0 deletions distribution/kernel/carbon-home/dbscripts/db2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1159,6 +1159,53 @@ BEGIN ATOMIC
SET (NEW.UM_ID)
= (NEXTVAL FOR UM_ORG_DISCOVERY_SEQUENCE);END/

CREATE TABLE UM_RESOURCE_SHARING_POLICY (
UM_ID DECIMAL(31,0) NOT NULL,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE,
FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE
)/

CREATE SEQUENCE UM_RESOURCE_SHARING_POLICY_SEQ AS DECIMAL(27,0)
INCREMENT BY 1
START WITH 1
NO CACHE/

CREATE TRIGGER UM_RESOURCE_SHARING_POLICY_TRG NO CASCADE BEFORE INSERT ON UM_RESOURCE_SHARING_POLICY
REFERENCING NEW AS NEW FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
SET (NEW.UM_ID)
= (NEXTVAL FOR UM_RESOURCE_SHARING_POLICY_SEQ);END/

CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY(UM_POLICY_HOLDING_ORG_ID)/

CREATE TABLE UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID DECIMAL(31,0) NOT NULL,
UM_RESOURCE_SHARING_POLICY_ID DECIMAL(31,0) NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID) REFERENCES UM_RESOURCE_SHARING_POLICY(UM_ID) ON DELETE CASCADE
)/

CREATE SEQUENCE UM_SHARED_RESOURCE_ATTRIBUTES_SEQ AS DECIMAL(27,0)
INCREMENT BY 1
START WITH 1
NO CACHE/

CREATE TRIGGER UM_SHARED_RESOURCE_ATTRIBUTES_TRG NO CASCADE BEFORE INSERT ON UM_SHARED_RESOURCE_ATTRIBUTES
REFERENCING NEW AS NEW FOR EACH ROW MODE DB2SQL
BEGIN ATOMIC
SET (NEW.UM_ID)
= (NEXTVAL FOR UM_SHARED_RESOURCE_ATTRIBUTES_SEQ);END/

CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES(UM_RESOURCE_SHARING_POLICY_ID)/

CREATE TABLE KEY_STORE (
ID INTEGER NOT NULL,
NAME VARCHAR(255) NOT NULL,
Expand Down
26 changes: 26 additions & 0 deletions distribution/kernel/carbon-home/dbscripts/h2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,32 @@ CREATE TABLE IF NOT EXISTS UM_ORG_USER_ASSOCIATION(
PRIMARY KEY (UM_USER_ID, UM_ORG_ID, UM_ASSOCIATED_USER_ID, UM_ASSOCIATED_ORG_ID)
);

CREATE TABLE IF NOT EXISTS UM_RESOURCE_SHARING_POLICY (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE,
FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE
);

CREATE INDEX IF NOT EXISTS IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY (UM_POLICY_HOLDING_ORG_ID);

CREATE TABLE IF NOT EXISTS UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID)
REFERENCES UM_RESOURCE_SHARING_POLICY(UM_ID) ON DELETE CASCADE
);

CREATE INDEX IF NOT EXISTS IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES (UM_RESOURCE_SHARING_POLICY_ID);

-- ################################
-- KEY STORE TABLE.
-- ################################
Expand Down
25 changes: 25 additions & 0 deletions distribution/kernel/carbon-home/dbscripts/informix.sql
Original file line number Diff line number Diff line change
Expand Up @@ -673,6 +673,31 @@ CREATE TABLE IF NOT EXISTS UM_ORG_USER_ASSOCIATION (
PRIMARY KEY (UM_USER_ID, UM_ORG_ID, UM_ASSOCIATED_USER_ID, UM_ASSOCIATED_ORG_ID)
);

CREATE TABLE IF NOT EXISTS UM_RESOURCE_SHARING_POLICY (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE,
FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE
);

CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY (UM_POLICY_HOLDING_ORG_ID);

CREATE TABLE IF NOT EXISTS UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID) REFERENCES UM_RESOURCE_SHARING_POLICY(UM_ID) ON DELETE CASCADE
);

CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES (UM_RESOURCE_SHARING_POLICY_ID);

CREATE TABLE IF NOT EXISTS KEY_STORE (
ID INTEGER NOT NULL AUTO_INCREMENT,
NAME VARCHAR(255) NOT NULL,
Expand Down
38 changes: 35 additions & 3 deletions distribution/kernel/carbon-home/dbscripts/mssql.sql
Original file line number Diff line number Diff line change
Expand Up @@ -846,16 +846,48 @@ CREATE TABLE UM_ORG_USER_ASSOCIATION (
CONSTRAINT PK_ORG_USER_ASSOC PRIMARY KEY (UM_USER_ID, UM_ORG_ID, UM_ASSOCIATED_USER_ID, UM_ASSOCIATED_ORG_ID)
);

-- create table UM_RESOURCE_SHARING_POLICY
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[UM_RESOURCE_SHARING_POLICY]') AND TYPE IN (N'U'))
CREATE TABLE UM_RESOURCE_SHARING_POLICY (
UM_ID INTEGER IDENTITY(1, 1) NOT NULL,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG (UM_ID),
FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG (UM_ID)
);

IF EXISTS (SELECT NAME FROM SYSINDEXES WHERE NAME = 'IDX_POLICY_HOLDING_ORG_ID')
DROP INDEX UM_RESOURCE_SHARING_POLICY.IDX_POLICY_HOLDING_ORG_ID;
CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY (UM_POLICY_HOLDING_ORG_ID);

-- create table UM_SHARED_RESOURCE_ATTRIBUTES
IF NOT EXISTS (SELECT * FROM SYS.OBJECTS WHERE OBJECT_ID = OBJECT_ID(N'[dbo].[UM_SHARED_RESOURCE_ATTRIBUTES]') AND TYPE IN (N'U'))
CREATE TABLE UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID INTEGER IDENTITY(1, 1) NOT NULL,
UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID) REFERENCES UM_RESOURCE_SHARING_POLICY (UM_ID) ON DELETE CASCADE
);

IF EXISTS (SELECT NAME FROM SYSINDEXES WHERE NAME = 'IDX_RESOURCE_SHARING_POLICY_ID')
DROP INDEX UM_SHARED_RESOURCE_ATTRIBUTES.IDX_RESOURCE_SHARING_POLICY_ID;
CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES (UM_RESOURCE_SHARING_POLICY_ID);

GO

-- Trigger UM_SHARED_ROLE and UM_HYBRID_ROLE delete by UM_ID, UM_TENANT_ID on UM_SHARED_ROLE deletion by UM_ID, UM_TENANT_ID --
CREATE TRIGGER UM_HYBRID_ROLE_TRIGGER ON UM_HYBRID_ROLE INSTEAD OF DELETE AS BEGIN DELETE FROM UM_SHARED_ROLE WHERE UM_MAIN_ROLE_ID IN (SELECT UM_ID FROM deleted) AND UM_MAIN_ROLE_TENANT_ID IN (SELECT UM_TENANT_ID FROM deleted) DELETE FROM UM_SHARED_ROLE WHERE UM_SHARED_ROLE_ID IN (SELECT UM_ID FROM deleted) AND UM_SHARED_ROLE_TENANT_ID IN (SELECT UM_TENANT_ID FROM deleted) DELETE FROM UM_HYBRID_ROLE WHERE UM_ID IN (SELECT UM_ID FROM deleted) AND UM_TENANT_ID IN (SELECT UM_TENANT_ID FROM deleted) END;

GO

-- Trigger UM_ORG_DISCOVERY, UM_ORG_HIERARCHY and UM_ORG delete by UM_ID on UM_ORG deletion by UM_ID --
CREATE TRIGGER UM_ORG_DELETE_TRIGGER ON UM_ORG INSTEAD OF DELETE AS BEGIN DELETE FROM UM_ORG_DISCOVERY WHERE UM_ROOT_ORG_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG_DISCOVERY WHERE UM_ORG_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG_HIERARCHY WHERE UM_PARENT_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG_HIERARCHY WHERE UM_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG WHERE UM_PARENT_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG WHERE UM_ID IN (SELECT UM_ID FROM deleted) END;

-- Trigger UM_ORG_DISCOVERY, UM_ORG_HIERARCHY, UM_ORG and UM_RESOURCE_SHARING_POLICY delete by UM_ID on UM_ORG deletion by UM_ID --
CREATE TRIGGER UM_ORG_DELETE_TRIGGER ON UM_ORG INSTEAD OF DELETE AS BEGIN DELETE FROM UM_ORG_DISCOVERY WHERE UM_ROOT_ORG_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG_DISCOVERY WHERE UM_ORG_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG_HIERARCHY WHERE UM_PARENT_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG_HIERARCHY WHERE UM_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG WHERE UM_PARENT_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_ORG WHERE UM_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_RESOURCE_SHARING_POLICY WHERE UM_INITIATING_ORG_ID IN (SELECT UM_ID FROM deleted) DELETE FROM UM_RESOURCE_SHARING_POLICY WHERE UM_POLICY_HOLDING_ORG_ID IN (SELECT UM_ID FROM deleted) END;

GO

Expand Down
26 changes: 26 additions & 0 deletions distribution/kernel/carbon-home/dbscripts/mysql.sql
Original file line number Diff line number Diff line change
Expand Up @@ -671,6 +671,32 @@ CREATE TABLE IF NOT EXISTS UM_ORG_USER_ASSOCIATION(
PRIMARY KEY (UM_USER_ID, UM_ORG_ID, UM_ASSOCIATED_USER_ID, UM_ASSOCIATED_ORG_ID)
)ENGINE INNODB;

CREATE TABLE IF NOT EXISTS UM_RESOURCE_SHARING_POLICY (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE,
FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE
)ENGINE INNODB;

CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY(UM_POLICY_HOLDING_ORG_ID);

CREATE TABLE IF NOT EXISTS UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID)
REFERENCES UM_RESOURCE_SHARING_POLICY(UM_ID) ON DELETE CASCADE
)ENGINE INNODB;

CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES(UM_RESOURCE_SHARING_POLICY_ID);

-- ################################
-- KEY STORE TABLE.
-- ################################
Expand Down
28 changes: 27 additions & 1 deletion distribution/kernel/carbon-home/dbscripts/mysql_cluster.sql
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@ CREATE TABLE IF NOT EXISTS UM_UUID_DOMAIN_MAPPER (
FOREIGN KEY (UM_DOMAIN_ID, UM_TENANT_ID) REFERENCES UM_DOMAIN(UM_DOMAIN_ID, UM_TENANT_ID)
)ENGINE NDB;

CREATE INDEX UUID_DM_UID_TID ON UM_UUID_DOMAIN_MAPPER(UM_USER_ID, UM_TENANT_ID);
m

CREATE TABLE IF NOT EXISTS UM_GROUP_UUID_DOMAIN_MAPPER (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
Expand Down Expand Up @@ -615,6 +615,32 @@ CREATE TABLE IF NOT EXISTS UM_ORG_USER_ASSOCIATION(
PRIMARY KEY (UM_USER_ID, UM_ORG_ID, UM_ASSOCIATED_USER_ID, UM_ASSOCIATED_ORG_ID)
)ENGINE NDB;

CREATE TABLE IF NOT EXISTS UM_RESOURCE_SHARING_POLICY (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE,
FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG(UM_ID) ON DELETE CASCADE
)ENGINE NDB;

CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY (UM_POLICY_HOLDING_ORG_ID);

CREATE TABLE IF NOT EXISTS UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID INTEGER NOT NULL AUTO_INCREMENT,
UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID)
REFERENCES UM_RESOURCE_SHARING_POLICY(UM_ID) ON DELETE CASCADE
)ENGINE NDB;

CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES (UM_RESOURCE_SHARING_POLICY_ID);

-- ################################
-- KEY STORE TABLE.
-- ################################
Expand Down
59 changes: 59 additions & 0 deletions distribution/kernel/carbon-home/dbscripts/oracle.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1169,6 +1169,65 @@ CREATE TABLE UM_ORG_USER_ASSOCIATION(
)
/

CREATE TABLE UM_RESOURCE_SHARING_POLICY (
UM_ID INTEGER NOT NULL,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
CONSTRAINT FK_INITIATING_ORG FOREIGN KEY (UM_INITIATING_ORG_ID)
REFERENCES UM_ORG (UM_ID) ON DELETE CASCADE,
CONSTRAINT FK_POLICY_HOLDING_ORG FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID)
REFERENCES UM_ORG (UM_ID) ON DELETE CASCADE
)
/

CREATE SEQUENCE UM_RESOURCE_SHARING_POLICY_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
/

CREATE OR REPLACE TRIGGER UM_RESOURCE_SHARING_POLICY_TRIGGER
BEFORE INSERT
ON UM_RESOURCE_SHARING_POLICY
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT UM_RESOURCE_SHARING_POLICY_SEQ.nextval INTO :NEW.UM_ID FROM dual;
END;
/

CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY (UM_POLICY_HOLDING_ORG_ID)
/

CREATE TABLE UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID INTEGER NOT NULL,
UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
CONSTRAINT FK_RESOURCE_POLICY FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID)
REFERENCES UM_RESOURCE_SHARING_POLICY (UM_ID)
ON DELETE CASCADE
)
/

CREATE SEQUENCE UM_SHARED_RESOURCE_ATTRIBUTES_SEQ START WITH 1 INCREMENT BY 1 NOCACHE
/

CREATE OR REPLACE TRIGGER UM_SHARED_RESOURCE_ATTRIBUTES_TRIGGER
BEFORE INSERT
ON UM_SHARED_RESOURCE_ATTRIBUTES
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT UM_SHARED_RESOURCE_ATTRIBUTES_SEQ.nextval INTO :NEW.UM_ID FROM dual;
END;
/

CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES (UM_RESOURCE_SHARING_POLICY_ID)
/

CREATE TABLE KEY_STORE (
ID INTEGER NOT NULL,
NAME VARCHAR(255) NOT NULL,
Expand Down
56 changes: 56 additions & 0 deletions distribution/kernel/carbon-home/dbscripts/oracle_rac.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1103,6 +1103,62 @@ CREATE TABLE UM_ORG_USER_ASSOCIATION(
)
/

CREATE TABLE UM_RESOURCE_SHARING_POLICY (
UM_ID INTEGER NOT NULL,
UM_RESOURCE_TYPE VARCHAR(255) NOT NULL,
UM_RESOURCE_ID VARCHAR(36) NOT NULL,
UM_INITIATING_ORG_ID VARCHAR(36) NOT NULL,
UM_POLICY_HOLDING_ORG_ID VARCHAR(36) NOT NULL,
UM_SHARING_POLICY VARCHAR(255) NOT NULL,
PRIMARY KEY (UM_ID),
CONSTRAINT FK_INITIATING_ORG FOREIGN KEY (UM_INITIATING_ORG_ID) REFERENCES UM_ORG (UM_ID) ON DELETE CASCADE,
CONSTRAINT FK_POLICY_HOLDING_ORG FOREIGN KEY (UM_POLICY_HOLDING_ORG_ID) REFERENCES UM_ORG (UM_ID) ON DELETE CASCADE
)
/

CREATE SEQUENCE UM_RESOURCE_SHARING_POLICY_SEQ START WITH 1 INCREMENT BY 1 CACHE 20
/

CREATE OR REPLACE TRIGGER UM_RESOURCE_SHARING_POLICY_TRIGGER
BEFORE INSERT
ON UM_RESOURCE_SHARING_POLICY
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT UM_RESOURCE_SHARING_POLICY_SEQ.nextval INTO :NEW.UM_ID FROM dual;
END;
/

CREATE INDEX IDX_POLICY_HOLDING_ORG_ID ON UM_RESOURCE_SHARING_POLICY (UM_POLICY_HOLDING_ORG_ID)
/

CREATE TABLE UM_SHARED_RESOURCE_ATTRIBUTES (
UM_ID INTEGER NOT NULL,
UM_RESOURCE_SHARING_POLICY_ID INTEGER NOT NULL,
UM_SHARED_ATTRIBUTE_TYPE VARCHAR(255) NOT NULL,
UM_SHARED_ATTRIBUTE_ID VARCHAR(36) NOT NULL,
PRIMARY KEY (UM_ID),
CONSTRAINT FK_RESOURCE_POLICY FOREIGN KEY (UM_RESOURCE_SHARING_POLICY_ID)
REFERENCES UM_RESOURCE_SHARING_POLICY (UM_ID) ON DELETE CASCADE
)
/

CREATE SEQUENCE UM_SHARED_RESOURCE_ATTRIBUTES_SEQ START WITH 1 INCREMENT BY 1 CACHE 20
/

CREATE OR REPLACE TRIGGER UM_SHARED_RESOURCE_ATTRIBUTES_TRIGGER
BEFORE INSERT
ON UM_SHARED_RESOURCE_ATTRIBUTES
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
SELECT UM_SHARED_RESOURCE_ATTRIBUTES_SEQ.nextval INTO :NEW.UM_ID FROM dual;
END;
/

CREATE INDEX IDX_RESOURCE_SHARING_POLICY_ID ON UM_SHARED_RESOURCE_ATTRIBUTES (UM_RESOURCE_SHARING_POLICY_ID)
/

CREATE TABLE KEY_STORE (
ID INTEGER NOT NULL,
NAME VARCHAR(255) NOT NULL,
Expand Down
Loading

0 comments on commit 511b631

Please sign in to comment.