Файл: symfony-2.7/src/Symfony/Component/Security/Acl/Resources/schema/oracle.sql
Строк: 153
CREATE TABLE acl_classes (id NUMBER(10) NOT NULL, class_type VARCHAR2(200)
NOT NULL, PRIMARY KEY(id))
DECLARE
constraints_Count NUMBER;
BEGIN
SELECT COUNT(CONSTRAINT_NAME) INTO constraints_Count FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'ACL_CLASSES' AND CONSTRAINT_TYPE = 'P';
IF
constraints_Count = 0 OR constraints_Count = '' THEN
EXECUTE IMMEDIATE
'ALTER TABLE ACL_CLASSES ADD CONSTRAINT ACL_CLASSES_AI_PK PRIMARY KEY
(ID)';
END IF;
END;
CREATE SEQUENCE ACL_CLASSES_SEQ START WITH 1
MINVALUE 1 INCREMENT BY 1
CREATE TRIGGER ACL_CLASSES_AI_PK
BEFORE
INSERT
ON ACL_CLASSES
FOR EACH ROW
DECLARE
last_Sequence NUMBER;
last_InsertID NUMBER;
BEGIN
SELECT ACL_CLASSES_SEQ.NEXTVAL INTO :NEW.ID
FROM DUAL;
IF (:NEW.ID IS NULL OR :NEW.ID = 0) THEN
SELECT
ACL_CLASSES_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
ELSE
SELECT
NVL(Last_Number, 0) INTO last_Sequence
FROM User_Sequences
WHERE Sequence_Name = 'ACL_CLASSES_SEQ';
SELECT :NEW.ID INTO
last_InsertID FROM DUAL;
WHILE (last_InsertID > last_Sequence)
LOOP
SELECT ACL_CLASSES_SEQ.NEXTVAL INTO last_Sequence FROM DUAL;
END LOOP;
END IF;
END;
CREATE UNIQUE INDEX UNIQ_69DD750638A36066
ON acl_classes (class_type)
CREATE TABLE acl_security_identities (id
NUMBER(10) NOT NULL, identifier VARCHAR2(200) NOT NULL, username NUMBER(1)
NOT NULL, PRIMARY KEY(id))
DECLARE
constraints_Count NUMBER;
BEGIN
SELECT COUNT(CONSTRAINT_NAME) INTO constraints_Count FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'ACL_SECURITY_IDENTITIES' AND CONSTRAINT_TYPE = 'P';
IF constraints_Count = 0 OR constraints_Count = '' THEN
EXECUTE
IMMEDIATE 'ALTER TABLE ACL_SECURITY_IDENTITIES ADD CONSTRAINT
ACL_SECURITY_IDENTITIES_AI_PK PRIMARY KEY (ID)';
END IF;
END;
CREATE
SEQUENCE ACL_SECURITY_IDENTITIES_SEQ START WITH 1 MINVALUE 1 INCREMENT BY
1
CREATE TRIGGER ACL_SECURITY_IDENTITIES_AI_PK
BEFORE INSERT
ON
ACL_SECURITY_IDENTITIES
FOR EACH ROW
DECLARE
last_Sequence NUMBER;
last_InsertID NUMBER;
BEGIN
SELECT ACL_SECURITY_IDENTITIES_SEQ.NEXTVAL
INTO :NEW.ID FROM DUAL;
IF (:NEW.ID IS NULL OR :NEW.ID = 0) THEN
SELECT ACL_SECURITY_IDENTITIES_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
ELSE
SELECT NVL(Last_Number, 0) INTO last_Sequence
FROM
User_Sequences
WHERE Sequence_Name = 'ACL_SECURITY_IDENTITIES_SEQ';
SELECT :NEW.ID INTO last_InsertID FROM DUAL;
WHILE
(last_InsertID > last_Sequence) LOOP
SELECT
ACL_SECURITY_IDENTITIES_SEQ.NEXTVAL INTO last_Sequence FROM DUAL;
END
LOOP;
END IF;
END;
CREATE UNIQUE INDEX UNIQ_8835EE78772E836AF85E0677 ON
acl_security_identities (identifier, username)
CREATE TABLE
acl_object_identities (id NUMBER(10) NOT NULL, parent_object_identity_id
NUMBER(10) DEFAULT NULL NULL, class_id NUMBER(10) NOT NULL,
object_identifier VARCHAR2(100) NOT NULL, entries_inheriting NUMBER(1) NOT
NULL, PRIMARY KEY(id))
DECLARE
constraints_Count NUMBER;
BEGIN
SELECT
COUNT(CONSTRAINT_NAME) INTO constraints_Count FROM USER_CONSTRAINTS WHERE
TABLE_NAME = 'ACL_OBJECT_IDENTITIES' AND CONSTRAINT_TYPE = 'P';
IF
constraints_Count = 0 OR constraints_Count = '' THEN
EXECUTE IMMEDIATE
'ALTER TABLE ACL_OBJECT_IDENTITIES ADD CONSTRAINT
ACL_OBJECT_IDENTITIES_AI_PK PRIMARY KEY (ID)';
END IF;
END;
CREATE
SEQUENCE ACL_OBJECT_IDENTITIES_SEQ START WITH 1 MINVALUE 1 INCREMENT BY
1
CREATE TRIGGER ACL_OBJECT_IDENTITIES_AI_PK
BEFORE INSERT
ON
ACL_OBJECT_IDENTITIES
FOR EACH ROW
DECLARE
last_Sequence NUMBER;
last_InsertID NUMBER;
BEGIN
SELECT ACL_OBJECT_IDENTITIES_SEQ.NEXTVAL
INTO :NEW.ID FROM DUAL;
IF (:NEW.ID IS NULL OR :NEW.ID = 0) THEN
SELECT ACL_OBJECT_IDENTITIES_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
ELSE
SELECT NVL(Last_Number, 0) INTO last_Sequence
FROM
User_Sequences
WHERE Sequence_Name = 'ACL_OBJECT_IDENTITIES_SEQ';
SELECT :NEW.ID INTO last_InsertID FROM DUAL;
WHILE (last_InsertID
> last_Sequence) LOOP
SELECT ACL_OBJECT_IDENTITIES_SEQ.NEXTVAL
INTO last_Sequence FROM DUAL;
END LOOP;
END IF;
END;
CREATE
UNIQUE INDEX UNIQ_9407E5494B12AD6EA000B10 ON acl_object_identities
(object_identifier, class_id)
CREATE INDEX IDX_9407E54977FA751A ON
acl_object_identities (parent_object_identity_id)
CREATE TABLE
acl_object_identity_ancestors (object_identity_id NUMBER(10) NOT NULL,
ancestor_id NUMBER(10) NOT NULL, PRIMARY KEY(object_identity_id,
ancestor_id))
CREATE INDEX IDX_825DE2993D9AB4A6 ON
acl_object_identity_ancestors (object_identity_id)
CREATE INDEX
IDX_825DE299C671CEA1 ON acl_object_identity_ancestors (ancestor_id)
CREATE
TABLE acl_entries (id NUMBER(10) NOT NULL, class_id NUMBER(10) NOT NULL,
object_identity_id NUMBER(10) DEFAULT NULL NULL, security_identity_id
NUMBER(10) NOT NULL, field_name VARCHAR2(50) DEFAULT NULL NULL, ace_order
NUMBER(5) NOT NULL, mask NUMBER(10) NOT NULL, granting NUMBER(1) NOT NULL,
granting_strategy VARCHAR2(30) NOT NULL, audit_success NUMBER(1) NOT NULL,
audit_failure NUMBER(1) NOT NULL, PRIMARY KEY(id))
DECLARE
constraints_Count NUMBER;
BEGIN
SELECT COUNT(CONSTRAINT_NAME) INTO
constraints_Count FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'ACL_ENTRIES'
AND CONSTRAINT_TYPE = 'P';
IF constraints_Count = 0 OR constraints_Count
= '' THEN
EXECUTE IMMEDIATE 'ALTER TABLE ACL_ENTRIES ADD CONSTRAINT
ACL_ENTRIES_AI_PK PRIMARY KEY (ID)';
END IF;
END;
CREATE SEQUENCE
ACL_ENTRIES_SEQ START WITH 1 MINVALUE 1 INCREMENT BY 1
CREATE TRIGGER
ACL_ENTRIES_AI_PK
BEFORE INSERT
ON ACL_ENTRIES
FOR EACH
ROW
DECLARE
last_Sequence NUMBER;
last_InsertID NUMBER;
BEGIN
SELECT ACL_ENTRIES_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
IF (:NEW.ID IS
NULL OR :NEW.ID = 0) THEN
SELECT ACL_ENTRIES_SEQ.NEXTVAL INTO :NEW.ID
FROM DUAL;
ELSE
SELECT NVL(Last_Number, 0) INTO last_Sequence
FROM User_Sequences
WHERE Sequence_Name = 'ACL_ENTRIES_SEQ';
SELECT :NEW.ID INTO last_InsertID FROM DUAL;
WHILE (last_InsertID
> last_Sequence) LOOP
SELECT ACL_ENTRIES_SEQ.NEXTVAL INTO
last_Sequence FROM DUAL;
END LOOP;
END IF;
END;
CREATE UNIQUE
INDEX UNIQ_46C8B806EA000B103D9AB4A64DEF17BCE4289BF4 ON acl_entries
(class_id, object_identity_id, field_name, ace_order)
CREATE INDEX
IDX_46C8B806EA000B103D9AB4A6DF9183C9 ON acl_entries (class_id,
object_identity_id, security_identity_id)
CREATE INDEX
IDX_46C8B806EA000B10 ON acl_entries (class_id)
CREATE INDEX
IDX_46C8B8063D9AB4A6 ON acl_entries (object_identity_id)
CREATE INDEX
IDX_46C8B806DF9183C9 ON acl_entries (security_identity_id)
ALTER TABLE
acl_object_identities ADD CONSTRAINT FK_9407E54977FA751A FOREIGN KEY
(parent_object_identity_id) REFERENCES acl_object_identities (id)
ALTER
TABLE acl_object_identity_ancestors ADD CONSTRAINT FK_825DE2993D9AB4A6
FOREIGN KEY (object_identity_id) REFERENCES acl_object_identities (id) ON
DELETE CASCADE
ALTER TABLE acl_object_identity_ancestors ADD CONSTRAINT
FK_825DE299C671CEA1 FOREIGN KEY (ancestor_id) REFERENCES
acl_object_identities (id) ON DELETE CASCADE
ALTER TABLE acl_entries ADD
CONSTRAINT FK_46C8B806EA000B10 FOREIGN KEY (class_id) REFERENCES
acl_classes (id) ON DELETE CASCADE
ALTER TABLE acl_entries ADD CONSTRAINT
FK_46C8B8063D9AB4A6 FOREIGN KEY (object_identity_id) REFERENCES
acl_object_identities (id) ON DELETE CASCADE
ALTER TABLE acl_entries ADD
CONSTRAINT FK_46C8B806DF9183C9 FOREIGN KEY (security_identity_id)
REFERENCES acl_security_identities (id) ON DELETE CASCADE