Skip to content

Commit

Permalink
Some more db schema fixes + migration scripts.
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Apr 19, 2017
1 parent 3faf970 commit 4ae67eb
Show file tree
Hide file tree
Showing 19 changed files with 519 additions and 440 deletions.
87 changes: 42 additions & 45 deletions config/sql/midpoint/3.6/h2/h2-3.6.sql
Expand Up @@ -43,19 +43,19 @@ CREATE TABLE m_acc_cert_case (
validTo TIMESTAMP,
validityChangeTimestamp TIMESTAMP,
validityStatus INTEGER,
currentStageNumber INTEGER,
currentStageOutcome INTEGER,
currentStageOutcome VARCHAR(255),
fullObject BLOB,
objectRef_relation VARCHAR(157),
objectRef_targetOid VARCHAR(36),
objectRef_type INTEGER,
orgRef_relation VARCHAR(157),
orgRef_targetOid VARCHAR(36),
orgRef_type INTEGER,
overallOutcome INTEGER,
outcome VARCHAR(255),
remediedTimestamp TIMESTAMP,
reviewDeadline TIMESTAMP,
reviewRequestedTimestamp TIMESTAMP,
stageNumber INTEGER,
targetRef_relation VARCHAR(157),
targetRef_targetOid VARCHAR(36),
targetRef_type INTEGER,
Expand All @@ -65,30 +65,6 @@ CREATE TABLE m_acc_cert_case (
PRIMARY KEY (id, owner_oid)
);

CREATE TABLE m_acc_cert_case_reference (
owner_id INTEGER NOT NULL,
owner_owner_oid VARCHAR(36) NOT NULL,
reference_type INTEGER NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
containerType INTEGER,
PRIMARY KEY (owner_id, owner_owner_oid, reference_type, relation, targetOid)
);

CREATE TABLE m_acc_cert_decision (
id INTEGER NOT NULL,
owner_id INTEGER NOT NULL,
owner_owner_oid VARCHAR(36) NOT NULL,
reviewerComment VARCHAR(255),
response INTEGER,
reviewerRef_relation VARCHAR(157),
reviewerRef_targetOid VARCHAR(36),
reviewerRef_type INTEGER,
stageNumber INTEGER NOT NULL,
timestamp TIMESTAMP,
PRIMARY KEY (id, owner_id, owner_owner_oid)
);

CREATE TABLE m_acc_cert_definition (
handlerUri VARCHAR(255),
lastCampaignClosedTimestamp TIMESTAMP,
Expand All @@ -102,6 +78,30 @@ CREATE TABLE m_acc_cert_definition (
PRIMARY KEY (oid)
);

CREATE TABLE m_acc_cert_wi (
id INTEGER NOT NULL,
owner_id INTEGER NOT NULL,
owner_owner_oid VARCHAR(36) NOT NULL,
closeTimestamp TIMESTAMP,
outcome VARCHAR(255),
outputChangeTimestamp TIMESTAMP,
performerRef_relation VARCHAR(157),
performerRef_targetOid VARCHAR(36),
performerRef_type INTEGER,
stageNumber INTEGER,
PRIMARY KEY (id, owner_id, owner_owner_oid)
);

CREATE TABLE m_acc_cert_wi_reference (
owner_id INTEGER NOT NULL,
owner_owner_id INTEGER NOT NULL,
owner_owner_owner_oid VARCHAR(36) NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
targetType INTEGER,
PRIMARY KEY (owner_id, owner_owner_id, owner_owner_owner_oid, relation, targetOid)
);

CREATE TABLE m_assignment (
id INTEGER NOT NULL,
owner_oid VARCHAR(36) NOT NULL,
Expand Down Expand Up @@ -244,7 +244,7 @@ CREATE TABLE m_assignment_reference (
reference_type INTEGER NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
containerType INTEGER,
targetType INTEGER,
PRIMARY KEY (owner_id, owner_owner_oid, reference_type, relation, targetOid)
);

Expand Down Expand Up @@ -569,7 +569,7 @@ CREATE TABLE m_reference (
reference_type INTEGER NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
containerType INTEGER,
targetType INTEGER,
PRIMARY KEY (owner_oid, reference_type, relation, targetOid)
);

Expand Down Expand Up @@ -796,14 +796,11 @@ CREATE INDEX iCaseTenantRefTargetOid ON m_acc_cert_case (tenantRef_targetOid);

CREATE INDEX iCaseOrgRefTargetOid ON m_acc_cert_case (orgRef_targetOid);

CREATE INDEX iCaseReferenceTargetOid ON m_acc_cert_case_reference (targetOid);

ALTER TABLE m_acc_cert_decision
ADD CONSTRAINT uc_case_stage_reviewer UNIQUE (owner_owner_oid, owner_id, stageNumber, reviewerRef_targetOid);

ALTER TABLE m_acc_cert_definition
ADD CONSTRAINT uc_acc_cert_definition_name UNIQUE (name_norm);

CREATE INDEX iCertWorkItemRefTargetOid ON m_acc_cert_wi_reference (targetOid);

CREATE INDEX iAssignmentAdministrative ON m_assignment (administrativeStatus);

CREATE INDEX iAssignmentEffective ON m_assignment (effectiveStatus);
Expand Down Expand Up @@ -984,23 +981,23 @@ ALTER TABLE m_acc_cert_campaign
ALTER TABLE m_acc_cert_case
ADD CONSTRAINT fk_acc_cert_case_owner
FOREIGN KEY (owner_oid)
REFERENCES m_object;

ALTER TABLE m_acc_cert_case_reference
ADD CONSTRAINT fk_acc_cert_case_ref_owner
FOREIGN KEY (owner_id, owner_owner_oid)
REFERENCES m_acc_cert_case;

ALTER TABLE m_acc_cert_decision
ADD CONSTRAINT fk_acc_cert_decision_owner
FOREIGN KEY (owner_id, owner_owner_oid)
REFERENCES m_acc_cert_case;
REFERENCES m_acc_cert_campaign;

ALTER TABLE m_acc_cert_definition
ADD CONSTRAINT fk_acc_cert_definition
FOREIGN KEY (oid)
REFERENCES m_object;

ALTER TABLE m_acc_cert_wi
ADD CONSTRAINT fk_acc_cert_wi_owner
FOREIGN KEY (owner_id, owner_owner_oid)
REFERENCES m_acc_cert_case;

ALTER TABLE m_acc_cert_wi_reference
ADD CONSTRAINT fk_acc_cert_wi_ref_owner
FOREIGN KEY (owner_id, owner_owner_id, owner_owner_owner_oid)
REFERENCES m_acc_cert_wi;

ALTER TABLE m_assignment
ADD CONSTRAINT fk_assignment_owner
FOREIGN KEY (owner_oid)
Expand Down
54 changes: 54 additions & 0 deletions config/sql/midpoint/3.6/h2/h2-upgrade-3.5-3.6.sql
Expand Up @@ -74,3 +74,57 @@ ALTER TABLE m_case
FOREIGN KEY (oid)
REFERENCES m_object;

ALTER TABLE m_assignment_reference ALTER COLUMN containerType RENAME TO targetType;
ALTER TABLE m_reference ALTER COLUMN containerType RENAME TO targetType;

DROP TABLE m_acc_cert_case_reference;

ALTER TABLE m_acc_cert_case ALTER COLUMN currentStageNumber RENAME TO stageNumber;
ALTER TABLE m_acc_cert_case DROP COLUMN currentStageOutcome, overallOutcome;
ALTER TABLE m_acc_cert_case ADD COLUMN currentStageOutcome VARCHAR(255);
ALTER TABLE m_acc_cert_case ADD COLUMN outcome VARCHAR(255);

DROP TABLE m_acc_cert_decision;

CREATE TABLE m_acc_cert_wi (
id INTEGER NOT NULL,
owner_id INTEGER NOT NULL,
owner_owner_oid VARCHAR(36) NOT NULL,
closeTimestamp TIMESTAMP,
outcome VARCHAR(255),
outputChangeTimestamp TIMESTAMP,
performerRef_relation VARCHAR(157),
performerRef_targetOid VARCHAR(36),
performerRef_type INTEGER,
stageNumber INTEGER,
PRIMARY KEY (id, owner_id, owner_owner_oid)
);

CREATE TABLE m_acc_cert_wi_reference (
owner_id INTEGER NOT NULL,
owner_owner_id INTEGER NOT NULL,
owner_owner_owner_oid VARCHAR(36) NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
targetType INTEGER,
PRIMARY KEY (owner_id, owner_owner_id, owner_owner_owner_oid, relation, targetOid)
);

CREATE INDEX iCertWorkItemRefTargetOid ON m_acc_cert_wi_reference (targetOid);

ALTER TABLE m_acc_cert_case DROP CONSTRAINT fk_acc_cert_case_owner;

ALTER TABLE m_acc_cert_case
ADD CONSTRAINT fk_acc_cert_case_owner
FOREIGN KEY (owner_oid)
REFERENCES m_acc_cert_campaign;

ALTER TABLE m_acc_cert_wi
ADD CONSTRAINT fk_acc_cert_wi_owner
FOREIGN KEY (owner_id, owner_owner_oid)
REFERENCES m_acc_cert_case;

ALTER TABLE m_acc_cert_wi_reference
ADD CONSTRAINT fk_acc_cert_wi_ref_owner
FOREIGN KEY (owner_id, owner_owner_id, owner_owner_owner_oid)
REFERENCES m_acc_cert_wi;
99 changes: 48 additions & 51 deletions config/sql/midpoint/3.6/mysql/mysql-3.6.sql
Expand Up @@ -62,19 +62,19 @@ CREATE TABLE m_acc_cert_case (
validTo DATETIME(6),
validityChangeTimestamp DATETIME(6),
validityStatus INTEGER,
currentStageNumber INTEGER,
currentStageOutcome INTEGER,
currentStageOutcome VARCHAR(255),
fullObject LONGBLOB,
objectRef_relation VARCHAR(157),
objectRef_targetOid VARCHAR(36),
objectRef_type INTEGER,
orgRef_relation VARCHAR(157),
orgRef_targetOid VARCHAR(36),
orgRef_type INTEGER,
overallOutcome INTEGER,
outcome VARCHAR(255),
remediedTimestamp DATETIME(6),
reviewDeadline DATETIME(6),
reviewRequestedTimestamp DATETIME(6),
stageNumber INTEGER,
targetRef_relation VARCHAR(157),
targetRef_targetOid VARCHAR(36),
targetRef_type INTEGER,
Expand All @@ -87,36 +87,6 @@ CREATE TABLE m_acc_cert_case (
COLLATE utf8_bin
ENGINE = InnoDB;

CREATE TABLE m_acc_cert_case_reference (
owner_id INTEGER NOT NULL,
owner_owner_oid VARCHAR(36) NOT NULL,
reference_type INTEGER NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
containerType INTEGER,
PRIMARY KEY (owner_id, owner_owner_oid, reference_type, relation, targetOid)
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_bin
ENGINE = InnoDB;

CREATE TABLE m_acc_cert_decision (
id INTEGER NOT NULL,
owner_id INTEGER NOT NULL,
owner_owner_oid VARCHAR(36) NOT NULL,
reviewerComment VARCHAR(255),
response INTEGER,
reviewerRef_relation VARCHAR(157),
reviewerRef_targetOid VARCHAR(36),
reviewerRef_type INTEGER,
stageNumber INTEGER NOT NULL,
timestamp DATETIME(6),
PRIMARY KEY (id, owner_id, owner_owner_oid)
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_bin
ENGINE = InnoDB;

CREATE TABLE m_acc_cert_definition (
handlerUri VARCHAR(255),
lastCampaignClosedTimestamp DATETIME(6),
Expand All @@ -133,6 +103,36 @@ CREATE TABLE m_acc_cert_definition (
COLLATE utf8_bin
ENGINE = InnoDB;

CREATE TABLE m_acc_cert_wi (
id INTEGER NOT NULL,
owner_id INTEGER NOT NULL,
owner_owner_oid VARCHAR(36) NOT NULL,
closeTimestamp DATETIME(6),
outcome VARCHAR(255),
outputChangeTimestamp DATETIME(6),
performerRef_relation VARCHAR(157),
performerRef_targetOid VARCHAR(36),
performerRef_type INTEGER,
stageNumber INTEGER,
PRIMARY KEY (id, owner_id, owner_owner_oid)
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_bin
ENGINE = InnoDB;

CREATE TABLE m_acc_cert_wi_reference (
owner_id INTEGER NOT NULL,
owner_owner_id INTEGER NOT NULL,
owner_owner_owner_oid VARCHAR(36) NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
targetType INTEGER,
PRIMARY KEY (owner_id, owner_owner_id, owner_owner_owner_oid, relation, targetOid)
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_bin
ENGINE = InnoDB;

CREATE TABLE m_assignment (
id INTEGER NOT NULL,
owner_oid VARCHAR(36) NOT NULL,
Expand Down Expand Up @@ -302,7 +302,7 @@ CREATE TABLE m_assignment_reference (
reference_type INTEGER NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
containerType INTEGER,
targetType INTEGER,
PRIMARY KEY (owner_id, owner_owner_oid, reference_type, relation, targetOid)
)
DEFAULT CHARACTER SET utf8
Expand Down Expand Up @@ -720,7 +720,7 @@ CREATE TABLE m_reference (
reference_type INTEGER NOT NULL,
relation VARCHAR(157) NOT NULL,
targetOid VARCHAR(36) NOT NULL,
containerType INTEGER,
targetType INTEGER,
PRIMARY KEY (owner_oid, reference_type, relation, targetOid)
)
DEFAULT CHARACTER SET utf8
Expand Down Expand Up @@ -1004,14 +1004,11 @@ CREATE INDEX iCaseTenantRefTargetOid ON m_acc_cert_case (tenantRef_targetOid);

CREATE INDEX iCaseOrgRefTargetOid ON m_acc_cert_case (orgRef_targetOid);

CREATE INDEX iCaseReferenceTargetOid ON m_acc_cert_case_reference (targetOid);

ALTER TABLE m_acc_cert_decision
ADD CONSTRAINT uc_case_stage_reviewer UNIQUE (owner_owner_oid, owner_id, stageNumber, reviewerRef_targetOid);

ALTER TABLE m_acc_cert_definition
ADD CONSTRAINT uc_acc_cert_definition_name UNIQUE (name_norm);

CREATE INDEX iCertWorkItemRefTargetOid ON m_acc_cert_wi_reference (targetOid);

CREATE INDEX iAssignmentAdministrative ON m_assignment (administrativeStatus);

CREATE INDEX iAssignmentEffective ON m_assignment (effectiveStatus);
Expand Down Expand Up @@ -1194,23 +1191,23 @@ ALTER TABLE m_acc_cert_campaign
ALTER TABLE m_acc_cert_case
ADD CONSTRAINT fk_acc_cert_case_owner
FOREIGN KEY (owner_oid)
REFERENCES m_object (oid);

ALTER TABLE m_acc_cert_case_reference
ADD CONSTRAINT fk_acc_cert_case_ref_owner
FOREIGN KEY (owner_id, owner_owner_oid)
REFERENCES m_acc_cert_case (id, owner_oid);

ALTER TABLE m_acc_cert_decision
ADD CONSTRAINT fk_acc_cert_decision_owner
FOREIGN KEY (owner_id, owner_owner_oid)
REFERENCES m_acc_cert_case (id, owner_oid);
REFERENCES m_acc_cert_campaign (oid);

ALTER TABLE m_acc_cert_definition
ADD CONSTRAINT fk_acc_cert_definition
FOREIGN KEY (oid)
REFERENCES m_object (oid);

ALTER TABLE m_acc_cert_wi
ADD CONSTRAINT fk_acc_cert_wi_owner
FOREIGN KEY (owner_id, owner_owner_oid)
REFERENCES m_acc_cert_case (id, owner_oid);

ALTER TABLE m_acc_cert_wi_reference
ADD CONSTRAINT fk_acc_cert_wi_ref_owner
FOREIGN KEY (owner_id, owner_owner_id, owner_owner_owner_oid)
REFERENCES m_acc_cert_wi (id, owner_id, owner_owner_oid);

ALTER TABLE m_assignment
ADD CONSTRAINT fk_assignment_owner
FOREIGN KEY (owner_oid)
Expand Down

0 comments on commit 4ae67eb

Please sign in to comment.