From 85489d94e802974a51fb31609c8b33db1428d9b5 Mon Sep 17 00:00:00 2001 From: RIHTARSIC Joze <joze.rihtarsic@ext.ec.europa.eu> Date: Sun, 29 Sep 2024 17:53:35 +0200 Subject: [PATCH] [EDELIVERY-13993] prepare-db-migration-script-for-domismp-5.1-rc --- .../mysql5innoDb-4.2_to_5.0-rollback.sql | 44 ----------- .../mysql5innoDb-5.0_to_5.1-rollback.sql | 40 ++++++++++ .../mysql5innoDb-5.0_to_5.1.sql | 40 +++++----- ....sql => oracle10g-5.0_to_5.1-rollback.sql} | 7 -- .../oracle10g-5.0_to_5.1.sql | 74 +++++++++---------- 5 files changed, 99 insertions(+), 106 deletions(-) delete mode 100644 smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-4.2_to_5.0-rollback.sql create mode 100644 smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1-rollback.sql rename smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/{oracle10g-4.2_to_5.0-rollback.sql => oracle10g-5.0_to_5.1-rollback.sql} (76%) diff --git a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-4.2_to_5.0-rollback.sql b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-4.2_to_5.0-rollback.sql deleted file mode 100644 index 51d57f6a8..000000000 --- a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-4.2_to_5.0-rollback.sql +++ /dev/null @@ -1,44 +0,0 @@ --- 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; diff --git a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1-rollback.sql b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1-rollback.sql new file mode 100644 index 000000000..8beca5288 --- /dev/null +++ b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1-rollback.sql @@ -0,0 +1,40 @@ + +-- 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; + diff --git a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1.sql b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1.sql index b95bf6b61..b5b9a64f7 100644 --- a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1.sql +++ b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/mysql5innoDb-5.0_to_5.1.sql @@ -1,3 +1,4 @@ +-- 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; diff --git a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-4.2_to_5.0-rollback.sql b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-5.0_to_5.1-rollback.sql similarity index 76% rename from smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-4.2_to_5.0-rollback.sql rename to smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-5.0_to_5.1-rollback.sql index f5c2f1277..9f30e4480 100644 --- a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-4.2_to_5.0-rollback.sql +++ b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-5.0_to_5.1-rollback.sql @@ -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; diff --git a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-5.0_to_5.1.sql b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-5.0_to_5.1.sql index 1e4874f6a..1d8cc9923 100644 --- a/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-5.0_to_5.1.sql +++ b/smp-webapp/src/main/smp-setup/database-scripts/migration from 5.0 to 5.1/oracle10g-5.0_to_5.1.sql @@ -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; -- GitLab