diff --git a/lib/taskana-core/src/main/resources/sql/schema-detection.sql b/lib/taskana-core/src/main/resources/sql/schema-detection.sql index 83f5d1701..9b22fabe5 100644 --- a/lib/taskana-core/src/main/resources/sql/schema-detection.sql +++ b/lib/taskana-core/src/main/resources/sql/schema-detection.sql @@ -1 +1 @@ -SELECT COUNT(*) FROM TASKANA.TASKANA_SCHEMA_VERSION; +SELECT MAX(VERSION) FROM TASKANA.TASKANA_SCHEMA_VERSION; diff --git a/lib/taskana-core/src/main/resources/sql/taskana-schema-postgres.sql b/lib/taskana-core/src/main/resources/sql/taskana-schema-postgres.sql index 67f47c79a..279a95a59 100644 --- a/lib/taskana-core/src/main/resources/sql/taskana-schema-postgres.sql +++ b/lib/taskana-core/src/main/resources/sql/taskana-schema-postgres.sql @@ -1,12 +1,13 @@ CREATE SCHEMA IF NOT EXISTS TASKANA; CREATE TABLE TASKANA.TASKANA_SCHEMA_VERSION( - ID CHAR(40) NOT NULL, + ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1), VERSION VARCHAR(255) NOT NULL, + CREATED TIMESTAMP NOT NULL, PRIMARY KEY (ID) ); -- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION -INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION VALUES ('1', '1.0.2'); +INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('1.0.2', CURRENT_TIMESTAMP); CREATE TABLE TASKANA.CLASSIFICATION( ID CHAR(40) NOT NULL, diff --git a/lib/taskana-core/src/main/resources/sql/taskana-schema.sql b/lib/taskana-core/src/main/resources/sql/taskana-schema.sql index 01a378234..e67f13498 100644 --- a/lib/taskana-core/src/main/resources/sql/taskana-schema.sql +++ b/lib/taskana-core/src/main/resources/sql/taskana-schema.sql @@ -1,10 +1,11 @@ CREATE TABLE TASKANA.TASKANA_SCHEMA_VERSION( - ID CHAR(40) NOT NULL, + ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), VERSION VARCHAR(255) NOT NULL, + CREATED TIMESTAMP NOT NULL, PRIMARY KEY (ID) ); -- The VERSION value must match the value of TaskanaEngineConfiguration.TASKANA_SCHEMA_VERSION -INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION VALUES ('1', '1.0.2'); +INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('1.0.2', CURRENT_TIMESTAMP); CREATE TABLE TASKANA.CLASSIFICATION( ID CHAR(40) NOT NULL, diff --git a/lib/taskana-core/src/main/resources/sql/taskana_schema_update_0.9.2_to_1.0.2.sql b/lib/taskana-core/src/main/resources/sql/taskana_schema_update_0.9.2_to_1.0.2.sql new file mode 100644 index 000000000..a4bb05eca --- /dev/null +++ b/lib/taskana-core/src/main/resources/sql/taskana_schema_update_0.9.2_to_1.0.2.sql @@ -0,0 +1,30 @@ +-- this script migrates the schema only. +-- data is not migrated, as this is currently not necessary. + +DROP TABLE TASKANA.TASKANA_SCHEMA_VERSION; + +CREATE TABLE TASKANA.TASKANA_SCHEMA_VERSION( + ID INT NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1), + VERSION VARCHAR(255) NOT NULL, + CREATED TIMESTAMP NOT NULL, + PRIMARY KEY (ID) +); +INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('0.9.2', CURRENT_TIMESTAMP); +INSERT INTO TASKANA.TASKANA_SCHEMA_VERSION (VERSION, CREATED) VALUES ('1.0.2', CURRENT_TIMESTAMP); + +DROP TABLE TASKANA.JOB; + +CREATE TABLE TASKANA.SCHEDULED_JOB( + JOB_ID INTEGER NOT NULL, + PRIORITY INTEGER NULL, + CREATED TIMESTAMP NULL, + DUE TIMESTAMP NULL, + STATE VARCHAR(32) NULL, + LOCKED_BY VARCHAR(32) NULL, + LOCK_EXPIRES TIMESTAMP NULL, + TYPE VARCHAR(32) NULL, + RETRY_COUNT INTEGER NOT NULL, + ARGUMENTS TEXT NULL, + PRIMARY KEY (JOB_ID) +); +