Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 85489d94 authored by Joze RIHTARSIC's avatar Joze RIHTARSIC
Browse files

[EDELIVERY-13993] prepare-db-migration-script-for-domismp-5.1-rc

parent d878a496
No related branches found
No related tags found
No related merge requests found
Pipeline #211378 failed
-- Drop added columns
ALTER TABLE SMP_CREDENTIAL DROP COLUMN IF EXISTS RESET_EXPIRE_ON;
ALTER TABLE SMP_CREDENTIAL DROP COLUMN IF EXISTS RESET_TOKEN;
ALTER TABLE SMP_CREDENTIAL_AUD DROP COLUMN IF EXISTS RESET_EXPIRE_ON;
ALTER TABLE SMP_CREDENTIAL_AUD DROP COLUMN IF EXISTS RESET_TOKEN;
ALTER TABLE SMP_DOCUMENT DROP COLUMN IF EXISTS REF_DOCUMENT_URL;
ALTER TABLE SMP_DOCUMENT DROP COLUMN IF EXISTS SHARING_ENABLED;
ALTER TABLE SMP_DOCUMENT DROP COLUMN IF EXISTS FK_REF_DOCUMENT_ID;
ALTER TABLE SMP_DOCUMENT_AUD DROP COLUMN IF EXISTS REF_DOCUMENT_URL;
ALTER TABLE SMP_DOCUMENT_AUD DROP COLUMN IF EXISTS SHARING_ENABLED;
ALTER TABLE SMP_DOCUMENT_AUD DROP COLUMN IF EXISTS FK_REF_DOCUMENT_ID;
ALTER TABLE SMP_DOCUMENT_VERSION DROP COLUMN IF EXISTS STATUS;
ALTER TABLE SMP_DOCUMENT_VERSION_AUD DROP COLUMN IF EXISTS STATUS;
ALTER TABLE SMP_RESOURCE DROP COLUMN IF EXISTS REVIEW_ENABLED;
ALTER TABLE SMP_RESOURCE_AUD DROP COLUMN IF EXISTS REVIEW_ENABLED;
ALTER TABLE SMP_RESOURCE_MEMBER DROP COLUMN IF EXISTS PERMISSION_REVIEW;
ALTER TABLE SMP_RESOURCE_MEMBER_AUD DROP COLUMN IF EXISTS PERMISSION_REVIEW;
-- Drop created tables
DROP TABLE IF EXISTS SMP_DOCUMENT_PROPERTY;
DROP TABLE IF EXISTS SMP_DOCUMENT_PROPERTY_AUD;
DROP TABLE IF EXISTS SMP_DOCUMENT_VERSION_EVENT;
DROP TABLE IF EXISTS SMP_DOMAIN_CONFIGURATION;
DROP TABLE IF EXISTS SMP_DOMAIN_CONFIGURATION_AUD;
-- Drop created indexes
DROP INDEX IF EXISTS SMP_DOCVEREVNT_DOCVER_IDX ON SMP_DOCUMENT_VERSION_EVENT;
-- Drop added constraints
ALTER TABLE SMP_DOCUMENT_PROPERTY DROP CONSTRAINT IF EXISTS SMP_DOC_PROP_IDX;
ALTER TABLE SMP_DOMAIN_CONFIGURATION DROP CONSTRAINT IF EXISTS SMP_DOMAIN_CONF_IDX;
ALTER TABLE SMP_DOCUMENT DROP CONSTRAINT IF EXISTS FKbytp2kp8g3pj8qfp1g6a2g7p;
ALTER TABLE SMP_DOCUMENT_PROPERTY DROP CONSTRAINT IF EXISTS FKfag3795e9mrvfvesd00yis9yh;
ALTER TABLE SMP_DOCUMENT_PROPERTY_AUD DROP CONSTRAINT IF EXISTS FK81057kcrugb1cfm0io5vkxtin;
ALTER TABLE SMP_DOCUMENT_VERSION_EVENT DROP CONSTRAINT IF EXISTS FK6es2svpoxyrnt1h05c9junmdn;
ALTER TABLE SMP_DOMAIN_CONFIGURATION DROP CONSTRAINT IF EXISTS FK4303vstoigqtmeo3t2i034gm3;
ALTER TABLE SMP_DOMAIN_CONFIGURATION_AUD DROP CONSTRAINT IF EXISTS FKkelcga805bleh5x256hy5e1xb;
-- drop the added indexes
ALTER TABLE SMP_DOCUMENT DROP CONSTRAINT FKbytp2kp8g3pj8qfp1g6a2g7p;
ALTER TABLE SMP_DOCUMENT_PROPERTY DROP CONSTRAINT FKfag3795e9mrvfvesd00yis9yh;
ALTER TABLE SMP_DOCUMENT_PROPERTY_AUD DROP CONSTRAINT FK81057kcrugb1cfm0io5vkxtin;
ALTER TABLE SMP_DOCUMENT_VERSION_EVENT DROP CONSTRAINT FK6es2svpoxyrnt1h05c9junmdn;
ALTER TABLE SMP_DOMAIN_CONFIGURATION DROP CONSTRAINT FK4303vstoigqtmeo3t2i034gm3;
ALTER TABLE SMP_DOMAIN_CONFIGURATION_AUD DROP CONSTRAINT FKkelcga805bleh5x256hy5e1xb;
-- Drop added columns
ALTER TABLE SMP_CREDENTIAL DROP COLUMN RESET_EXPIRE_ON;
ALTER TABLE SMP_CREDENTIAL DROP COLUMN RESET_TOKEN;
ALTER TABLE SMP_CREDENTIAL_AUD DROP COLUMN RESET_EXPIRE_ON;
ALTER TABLE SMP_CREDENTIAL_AUD DROP COLUMN RESET_TOKEN;
ALTER TABLE SMP_DOCUMENT DROP COLUMN REF_DOCUMENT_URL;
ALTER TABLE SMP_DOCUMENT DROP COLUMN SHARING_ENABLED;
ALTER TABLE SMP_DOCUMENT DROP COLUMN FK_REF_DOCUMENT_ID;
ALTER TABLE SMP_DOCUMENT_AUD DROP COLUMN REF_DOCUMENT_URL;
ALTER TABLE SMP_DOCUMENT_AUD DROP COLUMN SHARING_ENABLED;
ALTER TABLE SMP_DOCUMENT_AUD DROP COLUMN FK_REF_DOCUMENT_ID;
ALTER TABLE SMP_DOCUMENT_VERSION DROP COLUMN STATUS;
ALTER TABLE SMP_DOCUMENT_VERSION_AUD DROP COLUMN STATUS;
ALTER TABLE SMP_RESOURCE DROP COLUMN REVIEW_ENABLED;
ALTER TABLE SMP_RESOURCE_AUD DROP COLUMN REVIEW_ENABLED;
ALTER TABLE SMP_RESOURCE_MEMBER DROP COLUMN PERMISSION_REVIEW;
ALTER TABLE SMP_RESOURCE_MEMBER_AUD DROP COLUMN PERMISSION_REVIEW;
-- Drop created tables
DROP TABLE IF EXISTS SMP_DOCUMENT_PROPERTY;
DROP TABLE IF EXISTS SMP_DOCUMENT_PROPERTY_AUD;
DROP TABLE IF EXISTS SMP_DOCUMENT_VERSION_EVENT;
DROP TABLE IF EXISTS SMP_DOMAIN_CONFIGURATION;
DROP TABLE IF EXISTS SMP_DOMAIN_CONFIGURATION_AUD;
-- update existing tables with new columns
ALTER TABLE SMP_CREDENTIAL
ADD RESET_EXPIRE_ON datetime comment 'Date time when reset token will expire',
ADD RESET_TOKEN varchar(256) CHARACTER SET utf8 COLLATE utf8_bin comment 'Reset token for credential reset';
......@@ -16,6 +17,23 @@ ALTER TABLE SMP_DOCUMENT_AUD
ADD SHARING_ENABLED bit,
ADD FK_REF_DOCUMENT_ID bigint;
ALTER TABLE SMP_DOCUMENT_VERSION
ADD STATUS varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'RETIRED';
ALTER TABLE SMP_DOCUMENT_VERSION_AUD
ADD STATUS varchar(255) CHARACTER SET utf8 COLLATE utf8_bin;
ALTER TABLE SMP_RESOURCE
ADD REVIEW_ENABLED bit;
ALTER TABLE SMP_RESOURCE_AUD
ADD REVIEW_ENABLED bit;
ALTER TABLE SMP_RESOURCE_MEMBER
ADD PERMISSION_REVIEW bit comment 'User permission to review the resource document';
ALTER TABLE SMP_RESOURCE_MEMBER_AUD
ADD PERMISSION_REVIEW bit;
-- Create new tables
create table SMP_DOCUMENT_PROPERTY (
ID bigint not null auto_increment comment 'Unique document property id',
CREATED_ON datetime not null,
......@@ -42,12 +60,6 @@ create table SMP_DOCUMENT_PROPERTY_AUD (
primary key (ID, REV)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE SMP_DOCUMENT_VERSION
ADD STATUS varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT 'RETIRED';
ALTER TABLE SMP_DOCUMENT_VERSION_AUD
ADD STATUS varchar(255) CHARACTER SET utf8 COLLATE utf8_bin;
create table SMP_DOCUMENT_VERSION_EVENT (
ID bigint not null auto_increment comment 'Unique document version event identifier',
CREATED_ON datetime not null,
......@@ -88,17 +100,7 @@ create table SMP_DOMAIN_CONFIGURATION_AUD (
primary key (ID, REV)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE SMP_RESOURCE
ADD REVIEW_ENABLED bit;
ALTER TABLE SMP_RESOURCE_AUD
ADD REVIEW_ENABLED bit;
ALTER TABLE SMP_RESOURCE_MEMBER
ADD PERMISSION_REVIEW bit comment 'User permission to review the resource document';
ALTER TABLE SMP_RESOURCE_MEMBER_AUD
ADD PERMISSION_REVIEW bit;
-- create constraints and indexes
alter table SMP_DOCUMENT_PROPERTY
add constraint SMP_DOC_PROP_IDX unique (FK_DOCUMENT_ID, PROPERTY_NAME);
......@@ -137,9 +139,11 @@ alter table SMP_DOMAIN_CONFIGURATION_AUD
foreign key (REV)
references SMP_REV_INFO (id);
-- ----------------------------------------------
-- update SMP_DOCUMENT_VERSION STATUS to RETIRED and current versions to PUBLISHED AND set it to NOT NULL
UPDATE SMP_DOCUMENT_VERSION DV
JOIN SMP_DOCUMENT DOC
ON DOC.ID = DV.FK_DOCUMENT_ID AND DOC.CURRENT_VERSION = DV.VERSION
SET STATUS = 'PUBLISHED';
commit;
......@@ -32,13 +32,6 @@ DROP INDEX SMP_DOCVEREVNT_DOCVER_IDX;
ALTER TABLE SMP_DOMAIN_CONFIGURATION DROP CONSTRAINT SMP_DOMAIN_CONF_IDX;
ALTER TABLE SMP_DOCUMENT DROP CONSTRAINT FKbytp2kp8g3pj8qfp1g6a2g7p;
ALTER TABLE SMP_DOCUMENT_PROPERTY DROP CONSTRAINT FKfag3795e9mrvfvesd00yis9yh;
ALTER TABLE SMP_DOCUMENT_PROPERTY_AUD DROP CONSTRAINT FK81057kcrugb1cfm0io5vkxtin;
ALTER TABLE SMP_DOCUMENT_VERSION_EVENT DROP CONSTRAINT FK6es2svpoxyrnt1h05c9junmdn;
ALTER TABLE SMP_DOMAIN_CONFIGURATION DROP CONSTRAINT FK4303vstoigqtmeo3t2i034gm3;
ALTER TABLE SMP_DOMAIN_CONFIGURATION_AUD DROP CONSTRAINT FKkelcga805bleh5x256hy5e1xb;
-- Rollback for table creation
drop table SMP_DOCUMENT_PROPERTY;
drop table SMP_DOCUMENT_PROPERTY_AUD;
......
......@@ -20,14 +20,22 @@ ALTER TABLE SMP_DOCUMENT_AUD ADD REF_DOCUMENT_URL varchar2(1024 char);
ALTER TABLE SMP_DOCUMENT_AUD ADD SHARING_ENABLED number(1,0);
ALTER TABLE SMP_DOCUMENT_AUD ADD FK_REF_DOCUMENT_ID number(19,0);
ALTER TABLE SMP_RESOURCE ADD REVIEW_ENABLED number(1,0);
ALTER TABLE SMP_RESOURCE_AUD ADD REVIEW_ENABLED number(1,0);
ALTER TABLE SMP_RESOURCE_MEMBER ADD PERMISSION_REVIEW number(1,0);
comment on column SMP_RESOURCE_MEMBER.PERMISSION_REVIEW is
'User permission to review the resource document';
ALTER TABLE SMP_RESOURCE_MEMBER_AUD ADD PERMISSION_REVIEW number(1,0);
create table SMP_DOCUMENT_PROPERTY (
ID number(19,0) not null,
ID number(19,0) not null,
CREATED_ON timestamp not null,
LAST_UPDATED_ON timestamp not null,
DESCRIPTION varchar2(4000 char),
PROPERTY_NAME varchar2(255 char),
PROPERTY_TYPE varchar2(64 char),
PROPERTY_VALUE varchar2(1024 char),
PROPERTY_VALUE varchar2(1024 char),
FK_DOCUMENT_ID number(19,0),
primary key (ID)
);
......@@ -39,7 +47,7 @@ comment on column SMP_DOCUMENT_PROPERTY.DESCRIPTION is
'Property description';
create table SMP_DOCUMENT_PROPERTY_AUD (
ID number(19,0) not null,
ID number(19,0) not null,
REV number(19,0) not null,
REVTYPE number(3,0),
CREATED_ON timestamp,
......@@ -59,18 +67,18 @@ comment on column SMP_DOCUMENT_VERSION.STATUS is
ALTER TABLE SMP_DOCUMENT_VERSION_AUD ADD STATUS varchar2(255 char);
create table SMP_DOCUMENT_VERSION_EVENT (
ID number(19,0) not null,
CREATED_ON timestamp not null,
LAST_UPDATED_ON timestamp not null,
DETAILS varchar2(1024 char),
EVENT_ON timestamp,
EVENT_SOURCE varchar2(255 char) not null,
EVENT_TYPE varchar2(255 char) not null,
EVENT_STATUS varchar2(255 char) not null,
EVENT_BY_USERNAME varchar2(64 char),
FK_DOCUMENT_VERSION_ID number(19,0),
primary key (ID)
);
ID number(19,0) not null,
CREATED_ON timestamp not null,
LAST_UPDATED_ON timestamp not null,
DETAILS varchar2(1024 char),
EVENT_ON timestamp,
EVENT_SOURCE varchar2(255 char) not null,
EVENT_TYPE varchar2(255 char) not null,
EVENT_STATUS varchar2(255 char) not null,
EVENT_BY_USERNAME varchar2(64 char),
FK_DOCUMENT_VERSION_ID number(19,0),
primary key (ID)
);
comment on table SMP_DOCUMENT_VERSION_EVENT is
'Document version Events.';
......@@ -90,16 +98,16 @@ comment on column SMP_DOCUMENT_VERSION_EVENT.EVENT_BY_USERNAME is
'username identifier of the user who triggered the event';
create table SMP_DOMAIN_CONFIGURATION (
ID number(19,0) not null,
CREATED_ON timestamp not null,
LAST_UPDATED_ON timestamp not null,
DESCRIPTION varchar2(4000 char),
PROPERTY_NAME varchar2(512 char) not null,
SYSTEM_DEFAULT number(1,0) not null,
PROPERTY_VALUE varchar2(4000 char),
FK_DOMAIN_ID number(19,0) not null,
primary key (ID)
);
ID number(19,0) not null,
CREATED_ON timestamp not null,
LAST_UPDATED_ON timestamp not null,
DESCRIPTION varchar2(4000 char),
PROPERTY_NAME varchar2(512 char) not null,
SYSTEM_DEFAULT number(1,0) not null,
PROPERTY_VALUE varchar2(4000 char),
FK_DOMAIN_ID number(19,0) not null,
primary key (ID)
);
comment on table SMP_DOMAIN_CONFIGURATION is
'SMP domain configuration';
comment on column SMP_DOMAIN_CONFIGURATION.ID is
......@@ -128,15 +136,7 @@ create table SMP_DOMAIN_CONFIGURATION_AUD (
primary key (ID, REV)
);
ALTER TABLE SMP_RESOURCE ADD REVIEW_ENABLED number(1,0);
ALTER TABLE SMP_RESOURCE_AUD ADD REVIEW_ENABLED number(1,0);
ALTER TABLE SMP_RESOURCE_MEMBER ADD PERMISSION_REVIEW number(1,0);
comment on column SMP_RESOURCE_MEMBER.PERMISSION_REVIEW is
'User permission to review the resource document';
ALTER TABLE SMP_RESOURCE_MEMBER_AUD ADD PERMISSION_REVIEW number(1,0);
-- create constraints and indexes
alter table SMP_DOCUMENT_PROPERTY
add constraint SMP_DOC_PROP_IDX unique (FK_DOCUMENT_ID, PROPERTY_NAME);
......@@ -175,13 +175,13 @@ alter table SMP_DOMAIN_CONFIGURATION_AUD
foreign key (REV)
references SMP_REV_INFO;
-- ----------------------------------------------
-- update SMP_DOCUMENT_VERSION STATUS to RETIRED and current versions to PUBLISHED AND set it to NOT NULL
UPDATE SMP_DOCUMENT_VERSION DV
SET STATUS = 'PUBLISHED'
where EXISTS (SELECT DOC.id from SMP_DOCUMENT DOC where DOC.ID = DV.FK_DOCUMENT_ID
AND DOC.CURRENT_VERSION = DV.VERSION )
AND DOC.CURRENT_VERSION = DV.VERSION );
commit;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment