diff --git a/common/taskana-common/src/main/resources/sql/db2/taskana-schema-db2.sql b/common/taskana-common/src/main/resources/sql/db2/taskana-schema-db2.sql index cc31072c3c..fa97f8ff4d 100644 --- a/common/taskana-common/src/main/resources/sql/db2/taskana-schema-db2.sql +++ b/common/taskana-common/src/main/resources/sql/db2/taskana-schema-db2.sql @@ -15,7 +15,7 @@ CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ -- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) -VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '7.0.0', CURRENT_TIMESTAMP); +VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '7.1.0', CURRENT_TIMESTAMP); CREATE TABLE CLASSIFICATION ( diff --git a/common/taskana-common/src/main/resources/sql/db2/taskana_schema_update_8.1.0_to_8.2.0_db2.sql b/common/taskana-common/src/main/resources/sql/db2/taskana_schema_update_8.1.0_to_8.2.0_db2.sql new file mode 100644 index 0000000000..5ea520cbcf --- /dev/null +++ b/common/taskana-common/src/main/resources/sql/db2/taskana_schema_update_8.1.0_to_8.2.0_db2.sql @@ -0,0 +1,19 @@ +-- this script updates the TASKANA database schema from version 8.1.0. to version 8.2.0. +SET SCHEMA %schemaName%; + +INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) +VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '7.1.0', CURRENT_TIMESTAMP); + +ALTER TABLE TASK + ADD COLUMN NUMBER_OF_COMMENTS INT DEFAULT 0; + +UPDATE TASK t +SET NUMBER_OF_COMMENTS = subquery.COMMENT_COUNT +FROM ( + SELECT t.ID, COUNT(tc.ID) AS COMMENT_COUNT + FROM TASK t + RIGHT OUTER JOIN TASK_COMMENT tc + ON t.ID = tc.TASK_ID + GROUP BY t.ID +) AS subquery +WHERE t.ID = subquery.ID; \ No newline at end of file diff --git a/common/taskana-common/src/main/resources/sql/h2/taskana-schema-h2.sql b/common/taskana-common/src/main/resources/sql/h2/taskana-schema-h2.sql index 53e9456fb1..14bdf59d81 100644 --- a/common/taskana-common/src/main/resources/sql/h2/taskana-schema-h2.sql +++ b/common/taskana-common/src/main/resources/sql/h2/taskana-schema-h2.sql @@ -22,7 +22,7 @@ CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ -- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) -VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '7.0.0', CURRENT_TIMESTAMP); +VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '7.1.0', CURRENT_TIMESTAMP); CREATE TABLE CLASSIFICATION ( diff --git a/common/taskana-common/src/main/resources/sql/h2/taskana_schema_update_8.1.0_to_8.2.0_h2.sql b/common/taskana-common/src/main/resources/sql/h2/taskana_schema_update_8.1.0_to_8.2.0_h2.sql new file mode 100644 index 0000000000..e7ccef1180 --- /dev/null +++ b/common/taskana-common/src/main/resources/sql/h2/taskana_schema_update_8.1.0_to_8.2.0_h2.sql @@ -0,0 +1,20 @@ +-- this script updates the TASKANA database schema from version 8.1.0 to version 8.2.0. +SET SCHEMA %schemaName%; + +INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) +VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '7.1.0', CURRENT_TIMESTAMP); + +ALTER TABLE TASK + ADD COLUMN NUMBER_OF_COMMENTS INT DEFAULT 0; + +UPDATE TASK t +SET NUMBER_OF_COMMENTS = ( + SELECT COUNT(tc.ID) + FROM TASK_COMMENT tc + WHERE tc.TASK_ID = t.ID +) +WHERE EXISTS ( + SELECT 1 + FROM TASK_COMMENT tc + WHERE tc.TASK_ID = t.ID +); \ No newline at end of file diff --git a/common/taskana-common/src/main/resources/sql/oracle/taskana-schema-oracle.sql b/common/taskana-common/src/main/resources/sql/oracle/taskana-schema-oracle.sql index 33242c17d3..e09b5cfec9 100644 --- a/common/taskana-common/src/main/resources/sql/oracle/taskana-schema-oracle.sql +++ b/common/taskana-common/src/main/resources/sql/oracle/taskana-schema-oracle.sql @@ -14,7 +14,7 @@ CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ -- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) -VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '7.0.0', CURRENT_TIMESTAMP); +VALUES (TASKANA_SCHEMA_VERSION_ID_SEQ.NEXTVAL, '7.1.0', CURRENT_TIMESTAMP); CREATE TABLE CLASSIFICATION ( diff --git a/common/taskana-common/src/main/resources/sql/oracle/taskana_schema_update_8.1.0_to_8.2.0_oracle.sql b/common/taskana-common/src/main/resources/sql/oracle/taskana_schema_update_8.1.0_to_8.2.0_oracle.sql new file mode 100644 index 0000000000..0f80e67ed5 --- /dev/null +++ b/common/taskana-common/src/main/resources/sql/oracle/taskana_schema_update_8.1.0_to_8.2.0_oracle.sql @@ -0,0 +1,19 @@ +-- this script updates the TASKANA database schema from version 8.1.0 to version 8.2.0. +ALTER SESSION SET CURRENT_SCHEMA = %schemaName%; + +INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) +VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '7.1.0', CURRENT_TIMESTAMP); + +ALTER TABLE TASK + ADD COLUMN NUMBER_OF_COMMENTS INT DEFAULT 0; + +UPDATE TASK t +SET NUMBER_OF_COMMENTS = subquery.COMMENT_COUNT +FROM ( + SELECT t.ID, COUNT(tc.ID) AS COMMENT_COUNT + FROM TASK t + RIGHT OUTER JOIN TASK_COMMENT tc + ON t.ID = tc.TASK_ID + GROUP BY t.ID +) AS subquery +WHERE t.ID = subquery.ID; \ No newline at end of file diff --git a/common/taskana-common/src/main/resources/sql/postgres/taskana-schema-postgres.sql b/common/taskana-common/src/main/resources/sql/postgres/taskana-schema-postgres.sql index 291ae72651..76151f0e47 100644 --- a/common/taskana-common/src/main/resources/sql/postgres/taskana-schema-postgres.sql +++ b/common/taskana-common/src/main/resources/sql/postgres/taskana-schema-postgres.sql @@ -18,7 +18,7 @@ CREATE SEQUENCE TASKANA_SCHEMA_VERSION_ID_SEQ -- The VERSION value must be equal or higher then the value of TaskanaEngineImpl.MINIMAL_TASKANA_SCHEMA_VERSION INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) -VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '7.0.0', CURRENT_TIMESTAMP); +VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '7.1.0', CURRENT_TIMESTAMP); CREATE TABLE CLASSIFICATION ( diff --git a/common/taskana-common/src/main/resources/sql/postgres/taskana_schema_update_8.1.0_to_8.2.0_postgres.sql b/common/taskana-common/src/main/resources/sql/postgres/taskana_schema_update_8.1.0_to_8.2.0_postgres.sql new file mode 100644 index 0000000000..bfdb6eb9b8 --- /dev/null +++ b/common/taskana-common/src/main/resources/sql/postgres/taskana_schema_update_8.1.0_to_8.2.0_postgres.sql @@ -0,0 +1,20 @@ +-- this script updates the TASKANA database schema from version 8.1.0 to version 8.2.0. + +SET search_path = %schemaName%; + +INSERT INTO TASKANA_SCHEMA_VERSION (ID, VERSION, CREATED) +VALUES (nextval('TASKANA_SCHEMA_VERSION_ID_SEQ'), '7.1.0', CURRENT_TIMESTAMP); + +ALTER TABLE TASK + ADD COLUMN NUMBER_OF_COMMENTS INT DEFAULT 0; + +UPDATE TASK t +SET NUMBER_OF_COMMENTS = subquery.COMMENT_COUNT +FROM ( + SELECT t.ID, COUNT(tc.ID) AS COMMENT_COUNT + FROM TASK t + RIGHT OUTER JOIN TASK_COMMENT tc + ON t.ID = tc.TASK_ID + GROUP BY t.ID +) AS subquery +WHERE t.ID = subquery.ID; \ No newline at end of file diff --git a/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java b/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java index 62c19c1561..cd680edb0b 100644 --- a/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java +++ b/lib/taskana-core/src/main/java/pro/taskana/common/api/TaskanaEngine.java @@ -17,7 +17,7 @@ /** The TaskanaEngine represents an overall set of all needed services. */ public interface TaskanaEngine { - String MINIMAL_TASKANA_SCHEMA_VERSION = "7.0.0"; + String MINIMAL_TASKANA_SCHEMA_VERSION = "7.1.0"; /** * Returns a {@linkplain TaskService} initialized with the current TaskanaEngine. {@linkplain