Skip to content

Commit

Permalink
Full and upgrade DB scripts for PostgreSQL.
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Nov 30, 2015
1 parent c48ea43 commit d8bb6f8
Show file tree
Hide file tree
Showing 6 changed files with 225 additions and 147 deletions.
Expand Up @@ -47,6 +47,12 @@ CREATE TABLE m_assignment (
modifyChannel VARCHAR(255),
modifyTimestamp TIMESTAMP,
orderValue INT4,
orgRef_relation VARCHAR(157),
orgRef_targetOid VARCHAR(36),
orgRef_type INT4,
resourceRef_relation VARCHAR(157),
resourceRef_targetOid VARCHAR(36),
resourceRef_type INT4,
targetRef_relation VARCHAR(157),
targetRef_targetOid VARCHAR(36),
targetRef_type INT4,
Expand Down Expand Up @@ -156,13 +162,18 @@ CREATE TABLE m_assignment_reference (
);

CREATE TABLE m_audit_delta (
checksum VARCHAR(32) NOT NULL,
record_id INT8 NOT NULL,
delta TEXT,
deltaOid VARCHAR(36),
deltaType INT4,
fullResult TEXT,
status INT4,
checksum VARCHAR(32) NOT NULL,
record_id INT8 NOT NULL,
delta TEXT,
deltaOid VARCHAR(36),
deltaType INT4,
fullResult TEXT,
objectName_norm VARCHAR(255),
objectName_orig VARCHAR(255),
resourceName_norm VARCHAR(255),
resourceName_orig VARCHAR(255),
resourceOid VARCHAR(36),
status INT4,
PRIMARY KEY (checksum, record_id)
);

Expand Down Expand Up @@ -240,10 +251,17 @@ CREATE TABLE m_focus (
validTo TIMESTAMP,
validityChangeTimestamp TIMESTAMP,
validityStatus INT4,
hasPhoto BOOLEAN DEFAULT FALSE NOT NULL,
oid VARCHAR(36) NOT NULL,
PRIMARY KEY (oid)
);

CREATE TABLE m_focus_photo (
owner_oid VARCHAR(36) NOT NULL,
photo BYTEA,
PRIMARY KEY (owner_oid)
);

CREATE TABLE m_generic_object (
name_norm VARCHAR(255),
name_orig VARCHAR(255),
Expand Down Expand Up @@ -468,6 +486,13 @@ CREATE TABLE m_security_policy (
PRIMARY KEY (oid)
);

CREATE TABLE m_sequence (
name_norm VARCHAR(255),
name_orig VARCHAR(255),
oid VARCHAR(36) NOT NULL,
PRIMARY KEY (oid)
);

CREATE TABLE m_shadow (
attemptNumber INT4,
dead BOOLEAN,
Expand Down Expand Up @@ -549,7 +574,6 @@ CREATE TABLE m_user (
fullName_orig VARCHAR(255),
givenName_norm VARCHAR(255),
givenName_orig VARCHAR(255),
hasPhoto BOOLEAN NOT NULL,
honorificPrefix_norm VARCHAR(255),
honorificPrefix_orig VARCHAR(255),
honorificSuffix_norm VARCHAR(255),
Expand Down Expand Up @@ -588,12 +612,6 @@ CREATE TABLE m_user_organizational_unit (
orig VARCHAR(255)
);

CREATE TABLE m_user_photo (
owner_oid VARCHAR(36) NOT NULL,
photo BYTEA,
PRIMARY KEY (owner_oid)
);

CREATE TABLE m_value_policy (
name_norm VARCHAR(255),
name_orig VARCHAR(255),
Expand All @@ -613,6 +631,14 @@ CREATE INDEX iAssignmentAdministrative ON m_assignment (administrativeStatus);

CREATE INDEX iAssignmentEffective ON m_assignment (effectiveStatus);

CREATE INDEX iTargetRefTargetOid ON m_assignment (targetRef_targetOid);

CREATE INDEX iTenantRefTargetOid ON m_assignment (tenantRef_targetOid);

CREATE INDEX iOrgRefTargetOid ON m_assignment (orgRef_targetOid);

CREATE INDEX iResourceRefTargetOid ON m_assignment (resourceRef_targetOid);

CREATE INDEX iAExtensionBoolean ON m_assignment_ext_boolean (extensionType, eName, booleanValue);

CREATE INDEX iAExtensionDate ON m_assignment_ext_date (extensionType, eName, dateValue);
Expand All @@ -627,6 +653,8 @@ CREATE INDEX iAExtensionString ON m_assignment_ext_string (extensionType, eName,

CREATE INDEX iAssignmentReferenceTargetOid ON m_assignment_reference (targetOid);

CREATE INDEX iTimestampValue ON m_audit_event (timestampValue);

ALTER TABLE m_connector_host
ADD CONSTRAINT uc_connector_host_name UNIQUE (name_norm);

Expand Down Expand Up @@ -708,6 +736,9 @@ ADD CONSTRAINT uc_role_name UNIQUE (name_norm);
ALTER TABLE m_security_policy
ADD CONSTRAINT uc_security_policy_name UNIQUE (name_norm);

ALTER TABLE m_sequence
ADD CONSTRAINT uc_sequence_name UNIQUE (name_norm);

CREATE INDEX iShadowResourceRef ON m_shadow (resourceRef_targetOid);

CREATE INDEX iShadowDead ON m_shadow (dead);
Expand Down Expand Up @@ -820,6 +851,11 @@ ADD CONSTRAINT fk_focus
FOREIGN KEY (oid)
REFERENCES m_object;

ALTER TABLE m_focus_photo
ADD CONSTRAINT fk_focus_photo
FOREIGN KEY (owner_oid)
REFERENCES m_focus;

ALTER TABLE m_generic_object
ADD CONSTRAINT fk_generic_object
FOREIGN KEY (oid)
Expand Down Expand Up @@ -925,6 +961,11 @@ ADD CONSTRAINT fk_security_policy
FOREIGN KEY (oid)
REFERENCES m_object;

ALTER TABLE m_sequence
ADD CONSTRAINT fk_sequence
FOREIGN KEY (oid)
REFERENCES m_object;

ALTER TABLE m_shadow
ADD CONSTRAINT fk_shadow
FOREIGN KEY (oid)
Expand Down Expand Up @@ -970,11 +1011,6 @@ ADD CONSTRAINT fk_user_org_unit
FOREIGN KEY (user_oid)
REFERENCES m_user;

ALTER TABLE m_user_photo
ADD CONSTRAINT fk_user_photo
FOREIGN KEY (owner_oid)
REFERENCES m_user;

ALTER TABLE m_value_policy
ADD CONSTRAINT fk_value_policy
FOREIGN KEY (oid)
Expand Down
32 changes: 0 additions & 32 deletions config/sql/_all/postgresql-upgrade-3.1.1-3.2.sql

This file was deleted.

95 changes: 50 additions & 45 deletions config/sql/_all/postgresql-upgrade-3.2-3.3.sql
@@ -1,60 +1,65 @@
create table m_sequence (
name_norm varchar(255),
name_orig varchar(255),
oid varchar(36) not null,
primary key (oid)
CREATE TABLE m_sequence (
name_norm VARCHAR(255),
name_orig VARCHAR(255),
oid VARCHAR(36) NOT NULL,
PRIMARY KEY (oid)
);

alter table m_sequence
add constraint uc_sequence_name unique (name_norm);
ALTER TABLE m_sequence
ADD CONSTRAINT uc_sequence_name UNIQUE (name_norm);

alter table m_sequence
add constraint fk_sequence
foreign key (oid)
references m_object;
ALTER TABLE m_sequence
ADD CONSTRAINT fk_sequence
FOREIGN KEY (oid)
REFERENCES m_object;

alter table m_user_photo rename to m_focus_photo;
ALTER TABLE m_user_photo RENAME TO m_focus_photo;

alter table m_focus add hasPhoto boolean not null default FALSE;
update m_focus set hasPhoto = false;
update m_focus set hasPhoto = (select hasPhoto from m_user where m_user.oid = m_focus.oid)
where m_focus.oid in (select oid from m_user);
ALTER TABLE m_focus ADD hasPhoto BOOLEAN NOT NULL DEFAULT FALSE;
UPDATE m_focus
SET hasPhoto = FALSE;
UPDATE m_focus
SET hasPhoto = (SELECT hasPhoto
FROM m_user
WHERE m_user.oid = m_focus.oid)
WHERE m_focus.oid IN (SELECT oid
FROM m_user);

alter table m_focus_photo
drop constraint m_user_photo_pkey;
ALTER TABLE m_focus_photo
DROP CONSTRAINT m_user_photo_pkey;

alter table m_focus_photo
add constraint m_focus_photo_pkey primary key(owner_oid);
ALTER TABLE m_focus_photo
ADD CONSTRAINT m_focus_photo_pkey PRIMARY KEY (owner_oid);

alter table m_focus_photo
drop constraint fk_user_photo;
ALTER TABLE m_focus_photo
DROP CONSTRAINT fk_user_photo;

alter table m_focus_photo
add constraint fk_focus_photo
foreign key (owner_oid)
references m_focus;
ALTER TABLE m_focus_photo
ADD CONSTRAINT fk_focus_photo
FOREIGN KEY (owner_oid)
REFERENCES m_focus;

alter table m_user drop column hasPhoto;
ALTER TABLE m_user DROP COLUMN hasPhoto;

alter table m_assignment
add orgRef_relation varchar(157),
add orgRef_targetOid varchar(36),
add orgRef_type int4,
add resourceRef_relation varchar(157),
add resourceRef_targetOid varchar(36),
add resourceRef_type int4;
ALTER TABLE m_assignment
ADD orgRef_relation VARCHAR(157),
ADD orgRef_targetOid VARCHAR(36),
ADD orgRef_type INT4,
ADD resourceRef_relation VARCHAR(157),
ADD resourceRef_targetOid VARCHAR(36),
ADD resourceRef_type INT4;

create index iTargetRefTargetOid on m_assignment (targetRef_targetOid);
create index iTenantRefTargetOid on m_assignment (tenantRef_targetOid);
create index iOrgRefTargetOid on m_assignment (orgRef_targetOid);
create index iResourceRefTargetOid on m_assignment (resourceRef_targetOid);
CREATE INDEX iTargetRefTargetOid ON m_assignment (targetRef_targetOid);
CREATE INDEX iTenantRefTargetOid ON m_assignment (tenantRef_targetOid);
CREATE INDEX iOrgRefTargetOid ON m_assignment (orgRef_targetOid);
CREATE INDEX iResourceRefTargetOid ON m_assignment (resourceRef_targetOid);

create index iTimestampValue on m_audit_event (timestampValue);
CREATE INDEX iTimestampValue ON m_audit_event (timestampValue);

alter table m_audit_delta
add objectName_norm varchar(255),
add objectName_orig varchar(255),
add resourceName_norm varchar(255),
add resourceName_orig varchar(255),
add resourceOid varchar(36);
ALTER TABLE m_audit_delta
ADD objectName_norm VARCHAR(255),
ADD objectName_orig VARCHAR(255),
ADD resourceName_norm VARCHAR(255),
ADD resourceName_orig VARCHAR(255),
ADD resourceOid VARCHAR(36);

0 comments on commit d8bb6f8

Please sign in to comment.