This is an automated email from the ASF dual-hosted git repository.

ricardozanini pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-kogito-apps.git


The following commit(s) were added to refs/heads/main by this push:
     new f0399a3b1 KOGITO-9825:Data index flyway postgresql migration scripts 
doesn't allow multiple executions (#1884)
f0399a3b1 is described below

commit f0399a3b1d350cd8c7576ea9b3eea4af18beac06
Author: nmirasch <[email protected]>
AuthorDate: Mon Oct 30 14:30:09 2023 +0100

    KOGITO-9825:Data index flyway postgresql migration scripts doesn't allow 
multiple executions (#1884)
---
 .../db/migration/V1.32.0__data_index_create.sql    | 72 +++++++++++++++++-----
 .../migration/V1.44.0__data_index_definitions.sql  | 16 +++--
 .../V1.45.0.0__data_index_node_definitions.sql     | 11 +++-
 ...V1.45.0.1__add_identity_to_process_instance.sql |  6 +-
 .../src/main/resources/db/migration/readme.txt     |  2 +
 5 files changed, 84 insertions(+), 23 deletions(-)

diff --git 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.32.0__data_index_create.sql
 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.32.0__data_index_create.sql
index 58cbc17bc..5499ecb05 100644
--- 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.32.0__data_index_create.sql
+++ 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.32.0__data_index_create.sql
@@ -1,4 +1,4 @@
-create table attachments
+create table IF NOT EXISTS attachments
 (
     id         varchar(255) not null,
     content    varchar(255),
@@ -9,7 +9,7 @@ create table attachments
     primary key (id)
 );
 
-create table comments
+create table IF NOT EXISTS comments
 (
     id         varchar(255) not null,
     content    varchar(255),
@@ -19,7 +19,7 @@ create table comments
     primary key (id)
 );
 
-create table jobs
+create table IF NOT EXISTS jobs
 (
     id                       varchar(255) not null,
     callback_endpoint        varchar(255),
@@ -41,7 +41,7 @@ create table jobs
     primary key (id)
 );
 
-create table milestones
+create table IF NOT EXISTS milestones
 (
     id                  varchar(255) not null,
     process_instance_id varchar(255) not null,
@@ -50,7 +50,7 @@ create table milestones
     primary key (id, process_instance_id)
 );
 
-create table nodes
+create table IF NOT EXISTS nodes
 (
     id                  varchar(255) not null,
     definition_id       varchar(255),
@@ -63,7 +63,7 @@ create table nodes
     primary key (id)
 );
 
-create table processes
+create table IF NOT EXISTS processes
 (
     id                         varchar(255) not null,
     business_key               varchar(255),
@@ -83,21 +83,21 @@ create table processes
     primary key (id)
 );
 
-create table processes_addons
+create table IF NOT EXISTS processes_addons
 (
     process_id varchar(255) not null,
     addon      varchar(255) not null,
     primary key (process_id, addon)
 );
 
-create table processes_roles
+create table IF NOT EXISTS processes_roles
 (
     process_id varchar(255) not null,
     role       varchar(255) not null,
     primary key (process_id, role)
 );
 
-create table tasks
+create table IF NOT EXISTS tasks
 (
     id                       varchar(255) not null,
     actual_owner             varchar(255),
@@ -119,41 +119,45 @@ create table tasks
     primary key (id)
 );
 
-create table tasks_admin_groups
+create table IF NOT EXISTS tasks_admin_groups
 (
     task_id  varchar(255) not null,
     group_id varchar(255) not null,
     primary key (task_id, group_id)
 );
 
-create table tasks_admin_users
+create table IF NOT EXISTS tasks_admin_users
 (
     task_id varchar(255) not null,
     user_id varchar(255) not null,
     primary key (task_id, user_id)
 );
 
-create table tasks_excluded_users
+create table IF NOT EXISTS tasks_excluded_users
 (
     task_id varchar(255) not null,
     user_id varchar(255) not null,
     primary key (task_id, user_id)
 );
 
-create table tasks_potential_groups
+create table IF NOT EXISTS tasks_potential_groups
 (
     task_id  varchar(255) not null,
     group_id varchar(255) not null,
     primary key (task_id, group_id)
 );
 
-create table tasks_potential_users
+create table IF NOT EXISTS tasks_potential_users
 (
     task_id varchar(255) not null,
     user_id varchar(255) not null,
     primary key (task_id, user_id)
 );
 
+alter table if exists attachments
+  drop constraint if exists fk_attachments_tasks
+cascade;
+
 alter table if exists attachments
     add constraint fk_attachments_tasks
     foreign key (task_id)
@@ -162,6 +166,10 @@ alter table if exists attachments
 delete
 cascade;
 
+alter table if exists comments
+  drop constraint if exists fk_comments_tasks
+cascade;
+
 alter table if exists comments
     add constraint fk_comments_tasks
     foreign key (task_id)
@@ -170,6 +178,10 @@ alter table if exists comments
 delete
 cascade;
 
+alter table if exists milestones
+drop constraint if exists fk_milestones_process
+cascade;
+
 alter table if exists milestones
     add constraint fk_milestones_process
     foreign key (process_instance_id)
@@ -178,6 +190,10 @@ alter table if exists milestones
 delete
 cascade;
 
+alter table if exists nodes
+drop constraint if exists fk_nodes_process
+cascade;
+
 alter table if exists nodes
     add constraint fk_nodes_process
     foreign key (process_instance_id)
@@ -186,6 +202,10 @@ alter table if exists nodes
 delete
 cascade;
 
+alter table if exists processes_addons
+drop constraint if exists fk_processes_addons_processes
+cascade;
+
 alter table if exists processes_addons
     add constraint fk_processes_addons_processes
     foreign key (process_id)
@@ -194,6 +214,10 @@ alter table if exists processes_addons
 delete
 cascade;
 
+alter table if exists processes_roles
+drop constraint if exists fk_processes_roles_processes
+cascade;
+
 alter table if exists processes_roles
     add constraint fk_processes_roles_processes
     foreign key (process_id)
@@ -202,6 +226,10 @@ alter table if exists processes_roles
 delete
 cascade;
 
+alter table if exists tasks_admin_groups
+drop constraint if exists fk_tasks_admin_groups_tasks
+cascade;
+
 alter table if exists tasks_admin_groups
     add constraint fk_tasks_admin_groups_tasks
     foreign key (task_id)
@@ -210,6 +238,10 @@ alter table if exists tasks_admin_groups
 delete
 cascade;
 
+alter table if exists tasks_admin_users
+drop constraint if exists fk_tasks_admin_users_tasks
+cascade;
+
 alter table if exists tasks_admin_users
     add constraint fk_tasks_admin_users_tasks
     foreign key (task_id)
@@ -218,6 +250,10 @@ alter table if exists tasks_admin_users
 delete
 cascade;
 
+alter table if exists tasks_excluded_users
+drop constraint if exists fk_tasks_excluded_users_tasks
+cascade;
+
 alter table if exists tasks_excluded_users
     add constraint fk_tasks_excluded_users_tasks
     foreign key (task_id)
@@ -226,6 +262,10 @@ alter table if exists tasks_excluded_users
 delete
 cascade;
 
+alter table if exists tasks_potential_groups
+drop constraint if exists fk_tasks_potential_groups_tasks
+cascade;
+
 alter table if exists tasks_potential_groups
     add constraint fk_tasks_potential_groups_tasks
     foreign key (task_id)
@@ -234,6 +274,10 @@ alter table if exists tasks_potential_groups
 delete
 cascade;
 
+alter table if exists tasks_potential_users
+drop constraint if exists fk_tasks_potential_users_tasks
+cascade;
+
 alter table if exists tasks_potential_users
     add constraint fk_tasks_potential_users_tasks
     foreign key (task_id)
diff --git 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.44.0__data_index_definitions.sql
 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.44.0__data_index_definitions.sql
index 407913ff7..6c7937a44 100644
--- 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.44.0__data_index_definitions.sql
+++ 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.44.0__data_index_definitions.sql
@@ -1,4 +1,4 @@
-create table definitions
+create table IF NOT EXISTS definitions
 (
     id       varchar(255) not null,
     version  varchar(255) not null,
@@ -9,7 +9,7 @@ create table definitions
     primary key (id, version)
 );
 
-create table definitions_addons
+create table IF NOT EXISTS definitions_addons
 (
     process_id      varchar(255) not null,
     process_version varchar(255) not null,
@@ -17,7 +17,7 @@ create table definitions_addons
     primary key (process_id, process_version, addon)
 );
 
-create table definitions_roles
+create table IF NOT EXISTS definitions_roles
 (
     process_id      varchar(255) not null,
     process_version varchar(255) not null,
@@ -25,6 +25,10 @@ create table definitions_roles
     primary key (process_id, process_version, role)
 );
 
+alter table if exists definitions_addons
+drop constraint if exists fk_definitions_addons_definitions
+cascade;
+
 alter table if exists definitions_addons
     add constraint fk_definitions_addons_definitions
     foreign key (process_id, process_version)
@@ -33,6 +37,10 @@ alter table if exists definitions_addons
 delete
 cascade;
 
+alter table if exists definitions_roles
+drop constraint if exists fk_definitions_roles_definitions
+cascade;
+
 alter table if exists definitions_roles
     add constraint fk_definitions_roles_definitions
     foreign key (process_id, process_version)
@@ -42,4 +50,4 @@ delete
 cascade;
 
 alter table if exists processes
-    add column version varchar (255);
+    add column IF NOT EXISTS version varchar (255);
diff --git 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.0__data_index_node_definitions.sql
 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.0__data_index_node_definitions.sql
index 8b5f79995..5332c4946 100644
--- 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.0__data_index_node_definitions.sql
+++ 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.0__data_index_node_definitions.sql
@@ -1,4 +1,4 @@
-create table definitions_nodes
+create table IF NOT EXISTS definitions_nodes
 (
     id              varchar(255) not null,
     name            varchar(255),
@@ -9,7 +9,7 @@ create table definitions_nodes
     primary key (id, process_id, process_version)
 );
 
-create table definitions_nodes_metadata
+create table IF NOT EXISTS definitions_nodes_metadata
 (
     node_id         varchar(255) not null,
     process_id      varchar(255) not null,
@@ -18,6 +18,9 @@ create table definitions_nodes_metadata
     key             varchar(255) not null,
     primary key (node_id, process_id, process_version, key)
 );
+alter table if exists definitions_nodes
+drop constraint if exists fk_definitions_nodes_definitions
+cascade;
 
 alter table if exists definitions_nodes
     add constraint fk_definitions_nodes_definitions
@@ -27,6 +30,10 @@ alter table if exists definitions_nodes
 delete
 cascade;
 
+alter table if exists definitions_nodes_metadata
+drop constraint if exists fk_definitions_nodes_metadata_definitions_nodes
+cascade;
+
 alter table if exists definitions_nodes_metadata
     add constraint fk_definitions_nodes_metadata_definitions_nodes
     foreign key (node_id, process_id, process_version)
diff --git 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.1__add_identity_to_process_instance.sql
 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.1__add_identity_to_process_instance.sql
index c942bfeb9..dc94cd5ca 100644
--- 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.1__add_identity_to_process_instance.sql
+++ 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/V1.45.0.1__add_identity_to_process_instance.sql
@@ -1,3 +1,3 @@
-ALTER TABLE processes
-    ADD COLUMN created_by character varying,
-    ADD COLUMN updated_by character varying;
\ No newline at end of file
+ALTER TABLE IF exists processes
+    ADD COLUMN IF NOT EXISTS created_by character varying,
+    ADD COLUMN IF NOT EXISTS updated_by character varying;
\ No newline at end of file
diff --git 
a/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/readme.txt
 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/readme.txt
new file mode 100644
index 000000000..e08db4d0a
--- /dev/null
+++ 
b/data-index/data-index-storage/data-index-storage-postgresql/src/main/resources/db/migration/readme.txt
@@ -0,0 +1,2 @@
+Ensure migration scripts are developed to support several executions over the 
same database without any error.
+This feature will make sure this migration execution would be compatible with 
other needed flyway migrations without broking the chain.
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to